2015-12-23 76 views
0

我想在SQL Server中添加像'03:59:39','03:43:04'這樣的兩個時間戳,並且我要求像兩個時間戳之和的結果是7小時42分43秒。如何在SQL Server中添加兩個時間戳

沒有任何鑄造......任何人都可以在此建議嗎?

+0

'SELECT CAST(CAST(@ T1作爲DATETIME)+ CAST(@ T2 AS DATETIME)AS TIME)'** [演示](https://data.stackexchange.com/stackoverflow/query/414622 )**但如果時間間隔大於24h,則使用鑄造和數據鬆散 – lad2025

+0

這些日期是否有任何規則?它可能超過24小時嗎?你需要一個小時值> 24或一天的價值?這不是一個計算問題(只使用'date2-date1'),而是一個格式化問題。這將需要某種轉換... – Shnugo

+0

SQL Server沒有支持* time跨度*的數據類型(而不是一天的時間)。這是一天中的數據類型('time')不支持添加,因爲將兩天的時間加在一起是沒有意義的。 –

回答

3
TRY this 

    DECLARE @TIME1 TIME(0) 
     ,@TIME2 TIME(0); 

    SELECT @TIME1 = CONVERT(TIME(0), '2013-07-20 03:59:39') 
     ,@TIME2 = CONVERT(TIME(0), '2013-07-25 03:43:04'); 

    SELECT @TIME1 AS [@REQUESTEDTIME] 
     ,@TIME2 AS [@TIMEINTERVEL]; 

    SELECT DATEADD(SECOND, DATEDIFF(SECOND, '00:00:00', @TIME1), @TIME2) AS FINALRESULT; 

Try this one also 

DECLARE @TimeVal TIME 
    ,@TotalTime TIME; 

SET @TimeVal = '03:59:39'; 
SET @TotalTime = '03:43:04' 

SELECT @TimeVal 
    ,@TotalTime 
    ,dateadd(hour, DATEPART(HOUR, @TotalTime), dateadd(minute, DATEPART(MINUTE, @TotalTime), dateadd(ss, DATEPART(SECOND, @TotalTime), @TimeVal))) 
+0

謝謝@venkatesh ... – Mallikarjun