Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Valor aleatório para a coluna DATETIME


Hoje, vou descrever como gerar valor aleatório para o campo DATETIME dentro de um determinado intervalo. Isso é muito útil especialmente para gerar dados de teste. Para isso, usaremos algumas funções internas como:
  • DATADIFF
  • DATAADD
  • RAND
  • REDONDO

Valor aleatório de 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)


Espero que isso seja útil para você. Feliz TSQL!

Este é publicado pela primeira vez aqui