sql >> Database >  >> RDS >> Sqlserver

Willekeurige waarde voor kolom DATETIME

Vandaag ga ik beschrijven hoe een willekeurige waarde voor het DATETIME-veld binnen een bepaald bereik kan worden gegenereerd. Dit is vooral handig voor het genereren van testgegevens. Hiervoor zullen we een aantal ingebouwde functies gebruiken, zoals:

  • DATEDIFF
  • DATEADD
  • RAND
  • ROND

Willekeurige DATETIME-waarde

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)

Ik hoop dat dit nuttig voor u zal zijn. Veel plezier met TSQLing!

Dit wordt hier voor het eerst gepubliceerd


  1. Sysbench gebruiken om testgegevens te genereren voor Sharded Table in MySQL

  2. SQL Server pivot vs. multiple join

  3. Converteer 'datetimeoffset' naar 'time' in SQL Server (T-SQL-voorbeelden)

  4. Zoek een waarde in de kolomwaarde die door komma's gescheiden waarden opslaat