我目前正在尝试以小时计算数据库中两个日期之间的时差。例如,上午6:00到上午8:00是2小时。
我已经解决了这个问题,但似乎我遇到的问题是当我尝试计算数据库中两个条目之间的时间时。
2016-09-21 08:00:00.000 is StartTime
2016-08-16 12:00:00.000 is End Time
是的,我知道两个都显示了不同的日期。我希望能够计算上午8:00到中午12:00之间的时差,但我无法这样做。目前,我的计算正在返回-20。
我非常感谢能够解决这个问题。
此外,这是我当前的查询。
SELECT TherapyGroups.Name as GroupName,
COUNT(*) as NumberAttended,
SUM(DATEDIFF(hh, TherapyDailyNotes.StartTime, TherapyDailyNotes.EndTime)) % 24 as ContactHours
FROM TherapyDailyNotes
另外,我正在使用SQL Server 2008,但我无法转换为TIME。
答案 0 :(得分:2)
DATEPART
只能提取小时值:
SELECT
ContactHours = abs(
datepart(hour, TherapyDailyNotes.StartTime) -
datepart(hour, TherapyDailyNotes.EndTime)
)
FROM TherapyDailyNotes