sql >> Databasteknik >  >> RDS >> Sqlserver

Slumpmässigt värde för kolumnen DATETIME

Idag kommer jag att beskriva hur man genererar slumpmässigt värde för DATETIME-fältet inom ett givet intervall. Detta är mycket användbart speciellt för att generera testdata. För detta kommer vi att använda ett par inbyggda funktioner som:

  • DATEDIFF
  • DATEADD
  • RAND
  • RUNDA

Slumpmässigt DATETIME-värde

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)

Hoppas detta kommer att vara användbart för dig. Glad TSQLing!

Detta publiceras först här


  1. Giltiga tidssträngsformat för SQLites datum/tidsfunktioner

  2. If-uttalande inom Where-klausulen

  3. Snabbaste sättet att hitta föråldrade funktioner som fortfarande används i en SQL Server-instans (T-SQL-exempel)

  4. Hur man skapar ett index i Django utan driftstopp