我刚刚找到了使用
的真实数据datediff(SECOND, TimeStart, TimeEnd) / 60
与
不同datediff(MINUTE, TimeStart, TimeEnd)
我使用了SELECT
:
SELECT
DATEDIFF(SECOND, TimeStart, TimeEnd) AS seconds,
DATEDIFF(SECOND, TimeStart, TimeEnd) / 60 AS Mins1,
DATEDIFF(MINUTE, TimeStart, TimeEnd) AS Mins2
我得到了这些结果:
seconds mins1 mins2
-------------------------
236 3 4
620 10 10
536 8 9
443 7 8
692 11 12
1038 17 18
SUM 56 61
任何人都可以解释一下吗?
两次在T-SQL中获得分钟差异的正确方法是什么?
答案 0 :(得分:1)
这实际上涵盖在documentation:
中返回指定datepart的count(有符号整数) 在指定的startdate和enddate之间交叉的边界。
问题是用户想要该功能做其他事情。因此,2016-12-31 23:59:59和2017-01-01 00:00:01之间的年数为1年 - 即使日期/时间值相差2秒。
这是datediff()
有经验的用户选择可用的最小合理单位(秒或毫秒)然后从中获得更高单位的原因之一。唉,这种情况几个月都不起作用,但它对大多数单位都有效。