Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Случайна стойност за колона DATETIME

Днес ще опиша как да генерирам произволна стойност за поле DATETIME в рамките на даден диапазон. Това е много полезно специално за генериране на тестови данни. За това ще използваме няколко вградени функции като:

  • DATEDIFF
  • DATEADD
  • RAND
  • КРЪГЛО

Случайна стойност DATETIME

DECLARE @startDate DATETIME -- start date
DECLARE @endDate DATETIME -- end date
DECLARE @noOfSec INT -- variable
DECLARE @randomSec INT -- variable

SET @startDate = '2021-06-27 08:00 AM' -- assigning starting date
SET @endDate = '2021-06-27 08:30 AM' -- assigning end date

-- assigning end date -- Get the number of seconds within the date range
set @noOfSec = DATEDIFF(SECOND, @startDate, @endDate)

-- Get random seconds within the date range
set @randomSec = ROUND(((@noOfSec-1) * RAND()), 0)

-- Add the random seconds to get the random datetime value within the daterange
SELECT DATEADD(SECOND, @randomSec, @startDate)

Надявам се това да ви бъде полезно. Честит TSQLing!

Това е публикувано за първи път тук


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Цикъл през клипборда пръстен в SQL Server Management Studio (SSMS) - SQL Server / TSQL урок, част 8

  2. Как да получите статистическа информация за SQL Server с помощта на системни статистически функции

  3. Проверете/променете нивото на съвместимост на база данни в SQL Server (SSMS)

  4. ODBC заявка на MS SQL Server, връщаща първите 255 знака само в PHP PDO (FreeTDS)

  5. Функция на SQL Server ROUND():За какво е и защо трябва да ви е грижа?