sql >> Database teknologi >  >> RDS >> Sqlserver

Tilfældig værdi for kolonnen DATETIME

I dag vil jeg beskrive, hvordan man genererer tilfældig værdi for DATETIME-feltet inden for et givet område. Dette er meget nyttigt, specielt til generering af testdata. Til dette vil vi bruge et par indbyggede funktioner som:

  • DATEDIFF
  • DATEADD
  • RAND
  • RUND

Tilfældig DATETIME-værdi

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)

Håber dette vil være nyttigt for dig. Glad TSQLing!

Dette er først offentliggjort her


  1. Sikkerhedskopier dine MySQL-databaser

  2. Sådan gør du dette i Laravel, underforespørgsel hvor i

  3. Opdater et jobtrin for et SQL Server Agent-job (T-SQL)

  4. MySQL adgangskode funktion