2009-08-06 68 views
4

我有兩個日期值:08/6/2009 00:00:0010/6/2009 23:59:59如何在SQL Server 2005中減去兩個日期時間值的小時數

如何在SQL Server 2005的查詢中獲得小時數的差異?

+0

你的標題是有點誤導。您是否在問如何使用T-SQL for SQL Server 2005計算以小時爲單位的時間跨度? – noesgard 2009-08-06 11:24:44

+0

嗨,我不完全瞭解你,但如果你想得到的差異作爲小時,你可以使用DATEDIFF()來獲得差異,然後得到它作爲小時,但得到天使用DATEPART()和第24天的數字24得到它作爲小時 最好的Regads,Iordan – IordanTanev 2009-08-06 11:26:17

+0

因爲看起來MS SQL Server不支持SQL標準的INTERVAL類型,也沒有任何對它們的近似,所以我提出的基於這些解決方案的任何解決方案都是有限的價值。在支持標準間隔的情況下,答案或多或少不重要:CAST((d2-d1)間隔小時(9))。你可能需要拉一些投射特技才能將其轉換爲普通數字而不是INTERVAL ......在我使用的一個系統中,這意味着將其轉換爲char,然後轉換爲INTEGER。 – 2009-08-06 11:33:28

回答

10
SELECT DATEDIFF(hour, '2009-08-06 00:00:00', '2009-10-06 23:59:59') 

--- 
71 
1
DATEDIFF(HOUR,'08/6/2009 00:00:00','10/6/2009 23:59:59')