2010-03-19 94 views

回答

16

@codeka回答与时间部分(从您的标题),但在你的问题的身体,你问小时和分钟等等,这里是一个办法

select DATEDIFF(hh, @date1, @date2) as Hours_Difference, 
    DATEDIFF(mi,DATEADD(hh,DATEDIFF(hh, @date1, @date2),@date1),@date2) as Minutes_Difference 

这样做的F是什么第一部分是@codeka展示的。它在实际的整个小时内给你两个日期之间的日期。 sql中的第二项在(第一个日期+已过去的小时)和第二个日期之间以分钟为单位。您必须从分钟部分的公式中消除小时数,否则您将得到日期之间的实际分钟数。 DATEDIFF和其允许的日期部分标识符可以在这里研究:
http://msdn.microsoft.com/en-us/library/ms189794.aspx

3

你想要的DATEDIFF功能:

SELECT DATEDIFF(hh, @date1, @date2) 
+0

@codekka DATEDIFF似乎并没有返回分钟 – 2010-03-19 05:42:11

+1

DATEDIFF将根据规范返回几乎所有的日期部分在这里:http://msdn.microsoft.com/ EN-US /库/ ms189794.aspx – 2010-03-19 06:02:47

相关问题