当前位置: 代码迷 >> Sql Server >> 要求计算一个时间段内的随机时间,该怎么解决
  详细解决方案

要求计算一个时间段内的随机时间,该怎么解决

热度:84   发布时间:2016-04-27 20:24:34.0
要求计算一个时间段内的随机时间
指定一个时间,要求在正负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()*(@[email protected])[email protected] AS decimal(38,0)),GETDATE())

--CAST(RAND()*(@[email protected])[email protected] AS decimal(38,0))[email protected]@Up的数
  相关解决方案