随机地在1到180分钟之间添加到SQL Server中的现有日期时间值

bli*_*int 4 t-sql random

我们有一个包含两个日期时间列的大表,starttime和endtime.没有填充endtime.starttime有数据.我们想像这样填充endtime:

         update t
         set endtime = DateAdd(mi, some random int between 1 and 180, starttime)
Run Code Online (Sandbox Code Playgroud)

可以在T-SQL中完成,以便添加不同的分钟数,即所有行都没有添加到启动时的相同分钟数?

Ada*_*Dev 7

您可以使用CHECKSUM/NEWID()方法为每一行生成一个随机数:

UPDATE t
SET endtime = DATEADD(mi, ABS(CHECKSUM(NEWID())) % 180, starttime)
Run Code Online (Sandbox Code Playgroud)