Hari ini, saya akan menjelaskan cara menghasilkan nilai acak untuk bidang DATETIME dalam rentang tertentu. Ini sangat berguna khususnya untuk menghasilkan data uji. Untuk ini, kami akan menggunakan beberapa fungsi bawaan seperti:
- DATEDIFF
- DATEADD
- RAND
- PUTAR
Nilai DATETIME Acak
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)
Semoga ini bermanfaat untuk Anda. Selamat TSQL!
Ini pertama kali diterbitkan di sini