我有times.They兩個日期字段查找持續時間
1.2008-06-09 10:18:00.000
2.2008-06-10 11:20:00.000
我有找到格式上述兩個日期之間的差值 -
「24小時:2分:0秒」
有什麼方法來得到這樣的結果在SQL 2000?
我有times.They兩個日期字段查找持續時間
1.2008-06-09 10:18:00.000
2.2008-06-10 11:20:00.000
我有找到格式上述兩個日期之間的差值 -
「24小時:2分:0秒」
有什麼方法來得到這樣的結果在SQL 2000?
在SQL Server 2000中沒有華麗的答案...
DECLARE @d1 datetime, @d2 datetime
SELECT @d1 = '2008-06-09 10:18:00.000', @d2 = '2008-06-10 11:20:00.000'
SELECT
CAST(DATEDIFF(hour, @d1, @d2) AS varchar(30)) + ' hours, ' +
CAST(DATEDIFF(minute, @d1, @d2) % 60 AS varchar(30)) + ' minutes, ' +
CAST(DATEDIFF(second, @d1, @d2) % 3600 % 60 AS varchar(30)) + ' seconds'
需要的modulos除去小時和分鐘已經計算
我認爲你需要考慮交叉邊界,當@ d2小於@ @ d1時,小單位較少。例如,將'@ d2'中的分鐘數改爲15並檢查結果。 – 2011-08-16 18:58:40
這些更改應該有效:CAST(DATEDIFF(second,@ d1,@ d2)/ 60%60(60)60 'varchar(30))+'minutes''+ CAST(DATEDIFF(second,@ d1,@ d2)%3600%60 AS varchar(30))+'seconds'' – 2011-08-16 19:01:38
如果它不能在25個小時? – gbn 2010-01-19 07:47:08