MSSQL Convert Second to Time Hour:Minutes:Second HH:MM:SS – MSSQL 把秒轉成時分秒時間

公司給客戶的網頁上..
有一些資料是用秒來儲存的.
但是為了方便用戶瀏覽的關係..我們便耐要把資料轉換成 時:分:秒 HH:MM:SS
來顯示給用戶看..

由於自己不太熟識ASP.net MVC的關係..
所以不太懂怎樣用WebGrid的來顯示時:分:秒

所以我便決定在取資料時做一個資料轉換..
怎樣可以在資料庫把秒轉換成時間

大家可以用以下的方法

解決方法:
寫一個function 把時間轉換便可以了
可以用一個簡單的方程式來轉換..
十分簡單:

-- =============================================
-- Author:		[Share Chi Wai]
-- Create date: [2011-09-07]
-- Description:	[This function is used to convert Second to Time HH:MM:SS]
-- =============================================
CREATE FUNCTION [dbo].[ConvertSecondToHHMMSS]
(
	-- Add the parameters for the function here
	@Second INT =0
)
RETURNS VARCHAR(15)
AS
BEGIN
	-- Declare the return variable here
	DECLARE @HHMMSS VARCHAR(10)

	-- Add the T-SQL statements to compute the return value here
	DECLARE @HH VARCHAR(5)
	DECLARE @MM VARCHAR(2)
	DECLARE @SS VARCHAR(2)

	IF LEN((@Second / 3600))<2
	BEGIN
		--當時間小於雙隻數時..加上一個0
		SET @HH = RIGHT('0'+Convert(VARCHAR(5),(@Second / 3600)),2)
	END
	ELSE
	BEGIN
	--取時
		SET @HH = Convert(VARCHAR(5),(@Second / 3600))
	END

	--取分
	SET @MM = RIGHT('0'+Convert(VARCHAR(3),(@Second % 3600)/60),2)
	--取秒
	SET @SS = RIGHT('0'+Convert(VARCHAR(3),@Second % 60),2)
	--把時/分/秒 轉成正常格式
	SET @HHMMSS=  @HH +':' +@MM +':'+ @SS

	-- Return the result of the function
	RETURN @HHMMSS

END
GO

我們可以用以下方法執行這個功能

SELECT dbo.ConvertSecondToHHMMSS (123)

tsql convert second to HH:MM:SS
Hope you find it useful

One thought on “MSSQL Convert Second to Time Hour:Minutes:Second HH:MM:SS – MSSQL 把秒轉成時分秒時間

  1. Pingback: TSQL Convert Second to Time Hour:Minutes:Second HH:MM:SS – TSQL 把秒轉成時分秒時間 | Share ChiWai/Share 智慧/智慧分享 – 技術分享/Tech Blog

Leave a Reply