[MS SQL] 將輸入的時間(分、秒)轉換成中文時間的函數
分享一個時間轉換函數,能將輸入的分鐘或秒數轉換為中文時間。
(適用MS SQL Server 2005 或以上)
EX: 86分 轉換為 1時26分
EX: 93秒 轉換為 1分33秒
用法:
(適用MS SQL Server 2005 或以上)
EX: 86分 轉換為 1時26分
EX: 93秒 轉換為 1分33秒
-- ================================================= -- Author: <huayu.lee> -- Create date: <2012/05/16> -- Description: <時間轉換函數> -- 參數 @Format: <要轉換的參數的格式('MI','N':分鐘;'S':秒> -- 參數 @intTime: <要轉換的參數> -- Return: x時x分x秒 -- ================================================= ALTER FUNCTION [dbo].[uf_TimeTransToChinese] ( @Format nvarchar(2),@intTime int ) RETURNS nvarchar(20) AS BEGIN DECLARE @ResultVar nvarchar(20) DECLARE @hh int, @mm int, @ss int; IF(@Format = 'S') BEGIN --輸入為秒(秒 -> 時分秒) SET @ResultVar = CONVERT(nvarchar,DATEADD(S,@intTime,0),108); END ELSE IF (@Format = 'MI' OR @Format = 'N') BEGIN --輸入為分(分 -> 時分秒) SET @ResultVar = CONVERT(nvarchar,DATEADD(MI,@intTime,0),108); END SET @hh = DATEPART(HOUR,@ResultVar); SET @mm = DATEPART(MI,@ResultVar); SET @ss = DATEPART(S,@ResultVar); SET @ResultVar = ''; IF (@hh>0) BEGIN SET @ResultVar = @ResultVar + CONVERT(nvarchar,@hh) + '時' END IF (@mm>0) BEGIN SET @ResultVar = @ResultVar + CONVERT(nvarchar,@mm) + '分' END IF(@Format = 'S') BEGIN SET @ResultVar = @ResultVar + CONVERT(nvarchar,@ss) + '秒' END RETURN @ResultVar END
用法:
--分鐘數轉換 (輸出結果: 1時26分) SELECT [dbo].[uf_TimeTransToChinese]('MI', 86) --秒數轉換 (輸出結果: 2時45分39秒) SELECT [dbo].[uf_TimeTransToChinese]('S', 9939)
留言
張貼留言