我搜索了很多线程,无法找到我需要的答案。我有两个日期时间列:
BOOKDATIME BOOKDATIME_OFF
2013-06-01 12:14:00.000 2013-06-03 07:09:00.000
我想要做的只是显示两个日期之间的总小时和分钟差异。
当我使用时:
CONVERT(TIME, BOOKDATIME_OFF - BOOKDATIME)
AS HourMinuteSecond
我收到错误消息:无法按时调用方法
答案 0 :(得分:1)
DATEDIFF(HH,BOOKDATIME, BOOKDATIME_OFF)
答案 1 :(得分:1)
您可以使用DATEDIFF()
和除法/模数除法来获得总时数/分钟数的差异:
SELECT Hours = DATEDIFF(Minute,'2013-06-01 12:14:00.000','2013-06-03 07:09:00.000')/60
,Minutes = DATEDIFF(Minute,'2013-06-01 12:14:00.000','2013-06-03 07:09:00.000')%60
如果DATETIME
字段总是少于一天,那么您还可以减去日期时间并投射为时间:
DECLARE @date DATETIME = GETDATE()
,@date2 DATETIME = DATEADD(MINUTE,25,GETDATE())
SELECT CAST(@date2 - @date AS TIME)