继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

T-SQL自定义函数ConvertSecondsToTime

会当凌绝顶聪明
关注TA
已关注
手记 240
粉丝 36
获赞 122

MS SQL Server一个自定义函数[dbo].[udf_ConvertSecondToTime],把秒数转换为时间。

传入的值最大为86399,如果大于这个数值,这将会出现异常:

The conversion of a nvarchar data type to a datetime data type resulted in an out-of-range value. 

5acf07270001405b00110016.jpgudf_ConvertSecondToTime SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:        Insus.NET
-- Create date:   2012-03-24
-- Description:   Convert second to time
-- =============================================
CREATE FUNCTION [dbo].[udf_ConvertSecondToTime] 
(
    @Seconds INTEGER 
)
RETURNS TIME
AS
BEGIN
DECLARE  
    @H AS NVARCHAR(2) = CAST(ROUND(@Seconds / 3600, 0) AS NVARCHAR),
    @M AS NVARCHAR(2) = CAST(ROUND(((@Seconds % 3600) / 60),0) AS NVARCHAR),
    @S AS NVARCHAR(2) =  CAST(ROUND(((@Seconds % 3600) % 60),0) AS NVARCHAR)
RETURN CAST((@H + ':' + @M + ':' + @S) AS TIME) 
END

 

Example:

SELECT [dbo].[udf_ConvertSecondsToTime](477)
SELECT [dbo].[udf_ConvertSecondsToTime](86399)

 

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP