尝试获取日期时间字段和时间字段之间的分钟差值。我使用的是datediff函数。
当开始时间从一个日期开始,比如'2018-01-08 22:35:55.043‘,结束时间是第二天,比如'00:35:56.2136644',结果是从结束时间到开始时间。
示例:
select DATEDIFF(MINUTE, CAST('2018-01-08 22:35:55.043' AS TIME), '00:35:56.2136644') AS minDiff1
select DATEDIFF(MINUTE, '00:35:56.2136644', CAST('2018-01-08 22:35:55.043' AS TIME)) AS minDiff2
select DATEDIFF(MINUTE, CONVERT(TIME, '2018-01-08 22:35:55.043'), '00:35:56.2136644') AS minDiff3
select DATEDIFF(MINUTE, '00:35:56.2136644', CONVERT(TIME, '2018-01-08 22:35:55.043')) AS minDiff4
结果和我预期的不一样。期望的结果将是120分钟。
minDiff1 = -1320
minDiff2 = 1320
minDiff3 = -1320
minDiff4 = 1320
原始查询
select DATEDIFF(MINUTE, CAST(test_start_datetime as TIME), test_end_time) AS minDiff
from user_exam
https://stackoverflow.com/questions/53658793
复制相似问题