从日期时间检索分钟以更短的方式

时间:2018-08-02 10:11:14

标签: sql sql-server

(@DurationFrom IS NULL OR datepart(minute, convert(varchar, DATEADD(SECOND,datediff(second, main.StartTime, main.EndTime) , 0),108)) >= @DurationFrom)

上面的查询工作正常,但似乎太长了。还有其他方法可以得到相同的结果,但方法更短

2 个答案:

答案 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分钟(您的当前代码不检查)的代码