(@DurationFrom IS NULL OR datepart(minute, convert(varchar, DATEADD(SECOND,datediff(second, main.StartTime, main.EndTime) , 0),108)) >= @DurationFrom)
上面的查询工作正常,但似乎太长了。还有其他方法可以得到相同的结果,但方法更短
答案 0 :(得分:2)
根据当前查询语法,您可以执行以下操作:
select . . .
from . . .
where (@DurationFrom is null or
datediff(minute, main.StartTime, main.EndTime)) >= @DurationFrom;
答案 1 :(得分:1)
尝试一下:
errno: 110
errstr: Connection timed out
与当前脚本相比,这会提供更精确的结果,您当前的脚本使用秒进行比较,还包括毫秒数
如果您希望保持当前代码中的逻辑,则可以使用以下代码:
fsockopen(): unable to connect to ssl://example.com:81
(Connection timed out) in /var/www/html/test/includes/common.inc on line 513
这也适用于StartTime和EndTime之间的差异超过60分钟(您的当前代码不检查)的代码