sql >> データベース >  >> RDS >> Sqlserver

DATETIME列のランダム値

    今日は、指定された範囲内で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!

    これは最初にここで公開されます


    1. SQL Serverでクエリ結果をコンマ区切りリストとして返す方法– STRING_AGG()

    2. SQLServerの数値関数の概要

    3. SSISで入力列と出力列を動的にマップする方法は?

    4. 顧客の複数の住所のjsonbとjsonb[]