Consider two dates 2010-03-18 22:30:45
and 2010-03-19 03:30:15
.... How to get the number of hours and minutes in between the two dates in sql server.....
views:
325answers:
2
A:
You want the DATEDIFF function:
SELECT DATEDIFF(hh, @date1, @date2)
Dean Harding
2010-03-19 05:40:22
@codekka DATEDIFF doesn't seem to return minutes
Pandiya Chendur
2010-03-19 05:42:11
DATEDIFF will return almost any datepart according to the specification here: http://msdn.microsoft.com/en-us/library/ms189794.aspx
William Todd Salzman
2010-03-19 06:02:47
+1
A:
@codeka answered with the hours part (from your title) but in the body of your question you asked for hours and minutes so, here is one way
select DATEDIFF(hh, @date1, @date2) as Hours_Difference,
DATEDIFF(mi,DATEADD(hh,DATEDIFF(hh, @date1, @date2),@date1),@date2) as Minutes_Difference
What this does in the first part is what @codeka showed. It gives you the datediff between the two dates in actual full hours. The second term in the sql gives the datediff in minutes between the (first date + the hours elapsed) and the second date. You have to eliminate the hours from the equation in the minutes part or you will get the actual minutes between the dates. Datediff and its allowed Datepart identifiers can be researched here:
http://msdn.microsoft.com/en-us/library/ms189794.aspx
William Todd Salzman
2010-03-19 05:59:53