要求计算一个时间段内的随机时间
指定一个时间,要求在正负5分钟中得到一个随机时间
思路是先减300秒,再在0~600秒中取随机数,加到原来的时间上
高手帮忙啊
------解决方案--------------------用datediff
0~600随机数cast(ceiling(rand() * 600) as int)
------解决方案-------------------- declare @temptime datetime
declare @nowtime datetime
declare @randtime datetime
declare @n int
set @nowtime = getdate()
set @temptime = dateadd(second, -300, @nowtime)
set @n = rand() * 600
set @randtime = dateadd(second, @n, @temptime)
print @temptime
print @nowtime
print @randtime
------解决方案--------------------try:
DECLARE @Below int
DECLARE @Up int
SELECT @Below=-300,@Up=300
SELECT DATEADD(second,CAST(RAND()*(@Up-@Below)+@Below AS decimal(38,0)),GETDATE())
--CAST(RAND()*(@Up-@Below)+@Below AS decimal(38,0))这一过程是随机取从@Below到@Up的数