今日は、指定された範囲内でDATETIMEフィールドのランダム値を生成する方法について説明します。これは、テストデータを生成する場合に特に便利です。このために、次のようないくつかの組み込み関数を使用します。
- DATEDIFF
- DATEADD
- ランド
- ラウンド
ランダムな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)
これがお役に立てば幸いです。ハッピーTSQLing!
これは最初にここで公開されます