要如何把 秒數 轉成 hh:mm:ss 字串呢?
今天看到「SQL SERVER – Convert Seconds to Hour : Minute : Seconds Format」,
直覺就想到之前有使用Convert去轉成 hh:mm:ss 的字串,所以再記錄一下,
Pinal 的方式是分別除以時分秒及取餘數,如下,
--http://blog.sqlauthority.com/2014/08/17/sql-server-convert-seconds-to-hour-minute-seconds-format
DECLARE @TimeinSecond INT
SET @TimeinSecond = 86399 -- Change the seconds
SELECT RIGHT('0' + CAST(@TimeinSecond / 3600 AS VARCHAR),2) + ':' +
RIGHT('0' + CAST((@TimeinSecond / 60) % 60 AS VARCHAR),2) + ':' +
RIGHT('0' + CAST(@TimeinSecond % 60 AS VARCHAR),2)
另外,我們可以把那個秒數加上一個日期,例如 1900/01/01 ,
讓它變成日期格式,再透過Convert 108 格式,轉成我們需要的 hh:mm:ss,如下,
DECLARE @TimeinSecond INT
SET @TimeinSecond = 86399 -- Change the seconds
SELECT CONVERT(VARCHAR, DATEADD(s, @TimeinSecond, '1900/01/01'), 108)
--Way 3 DateAdd use 0
SELECT CONVERT(VARCHAR, DATEADD(s, @TimeinSecond, 0), 108)
參考資料
SQL SERVER – Convert Seconds to Hour : Minute : Seconds Format
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^