Generate random SQL Server 2008 time test data

后端 未结 2 1553
予麋鹿
予麋鹿 2021-01-18 07:25

I am trying to generate a large data set which includes time datatype in SQL Server 2008. I already have some non-time data in a table so I\'d like to keep the entire proce

2条回答
  •  忘掉有多难
    2021-01-18 07:43

    There are 86,400,000 milliseconds in a day, so you can get a random time value by doing this:

    select dateadd(millisecond, cast(86400000 * RAND() as int), convert(time, '00:00'))

    For your example where you want times between 8:00 and 9:00, there are 3,600,000 milliseconds in an hour, so modify the query like this.

    select dateadd(millisecond, cast(3600000 * RAND() as int), convert(time, '08:00'))

    In order to put in into your new table, you might either do a T-SQL loop with updates (s...l...o...w...), or do a SELECT INTO from your original table into a new table.

提交回复
热议问题