Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Losowa wartość dla kolumny DATETIME

Dzisiaj opiszę jak wygenerować losową wartość dla pola DATETIME w zadanym zakresie. Jest to bardzo przydatne zwłaszcza do generowania danych testowych. W tym celu użyjemy kilku wbudowanych funkcji, takich jak:

  • DAT.RÓŻNICA
  • DODANO DATY
  • RANO
  • OKRĄGŁY

Losowa wartość 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)

Mam nadzieję, że to ci się przyda. Miłego TSQLingu!

Jest to po raz pierwszy opublikowane tutaj


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak tworzyć połączone serwery baz danych i wysyłać do nich zapytania w programie SQL Server?

  2. Zakres tabel tymczasowych w SQL Server

  3. Sprawdź, ile elementów poczty znajduje się w kolejce w poczcie bazy danych w programie SQL Server (T-SQL)

  4. wyświetlanie wielu rekordów za pomocą zestawu wyników

  5. Co robi 'COLLATE SQL_Latin1_General_CP1_CI_AS'?