SQL DATEDIFF返回错误的结果

时间:2019-04-22 09:36:23

标签: sql sql-server date-arithmetic

我的SQL查询如下,

SELECT  CAST(-1 * DATEDIFF(hour, '21-APR-2019 11:30:00 AM', '22-APR-2019 
2:15:20 PM') % 24 AS VARCHAR) 

以上查询的输出:-

-3 

预期输出:-

-2

1 个答案:

答案 0 :(得分:1)

这是因为:

DATEDIFF(hour, '21-APR-2019 11:30:00 AM', '22-APR-2019 
2:15:20 PM')

返回27,而不返回26
更改为此:

SELECT  CAST(-1 * (DATEDIFF(minute, '21-APR-2019 11:30:00 AM', '22-APR-2019 
2:15:20 PM') / 60) % 24 AS VARCHAR)