sql >> Databáze >  >> RDS >> Sqlserver

Náhodná hodnota pro sloupec DATETIME

Dnes popíšu, jak vygenerovat náhodnou hodnotu pro pole DATETIME v daném rozsahu. To je velmi užitečné zejména pro generování testovacích dat. K tomu použijeme několik vestavěných funkcí jako:

  • DATEDIFF
  • DATEADD
  • RAND
  • Kulatý

Náhodná hodnota 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)

Doufám, že to pro vás bude užitečné. Šťastné TSQLing!

Toto je poprvé zveřejněno zde


  1. Naučte se MySQL – Týden nových technologií

  2. 3 otázky týkající se monitorování SQL serveru, které je třeba položit při přebírání pozice DBA

  3. Jak se mohu připojit k serveru Oracle Database 11g prostřednictvím řetězce tunelů ssh (dvojitý tunel, server ve firemní síti)?

  4. Uložená procedura pro získání stavu indexů ve všech databázích