【发布时间】:2017-02-02 16:16:17
【问题描述】:
我不知道我的查询出了什么问题,但它没有跳出 while 循环。我认为这是我计算时间的方式,但不确定。
DECLARE @start DATETIME = GETDATE(), @currenttime INT = 0
while @currenttime <= 1 --- represent min
begin
[execute Query]
' this will always return 0 and keep executing query even though the 1 min has been reached
set @currenttime = CONVERT(INT, DATEDIFF(s, @start, GETDATE())%3600/60)
end
【问题讨论】:
-
看起来while循环将执行2分钟。检查是在@currenttime 小于或等于 1 时进行的。
-
s 表示日期差异中的第二个 - 只需使用
set @currenttime = DTEDIFF(s, @start, GETDATE()) -
@Hogan,所以这会检查第二个?如果是这样,我需要它几分钟。
-
@Hogan,哇。你对你的评论是认真的吗?你没看我的帖子吗,我说我的计算可能不对。我当然知道使用“mi”。我只是想确保我得到正确的信息。我想无论你走到哪里,周围都是混蛋。
标签: sql sql-server tsql