如何获取sql server中两个日期之间的总小时数?

ACP*_*ACP 16 datetime sql-server-2005

考虑两个日期2010-03-18 22:30:452010-03-19 03:30:15....如何获取sql server中两个日期之间的小时数和分钟数.....

Wil*_*man 16

@codeka回答了小时部分(来自你的标题),但在问题正文中你问了几小时和几分钟所以,这里有一种方法

 select DATEDIFF(hh, @date1, @date2) as Hours_Difference,   
    DATEDIFF(mi,DATEADD(hh,DATEDIFF(hh, @date1, @date2),@date1),@date2) as Minutes_Difference
Run Code Online (Sandbox Code Playgroud)

第一部分的内容是@codeka所展示的内容.它为您提供实际完整时间内两个日期之间的约会.sql中的第二个术语在(第一个日期+经过的小时数)和第二个日期之间的分钟内给出了日期.您必须在分钟部分中消除等式中的小时数,否则您将获得日期之间的实际分钟数.可以在此处研究Datediff及其允许的Datepart标识符:http:
//msdn.microsoft.com/en-us/library/ms189794.aspx


Dea*_*ing 5

您需要DATEDIFF函数:

SELECT DATEDIFF(hh, @date1, @date2)
Run Code Online (Sandbox Code Playgroud)