T-SQL自定义函数ConvertSecondsToTime

来源:未知 责任编辑:责任编辑 发表时间:2013-12-18 11:37 点击:

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. 
udf_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)
 
 
Result:
 
 


 
作者 Insus.NET
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Request.ServerVariables 参数大全
    • 执行全文索引时出现权限不足的解决方法
    • 导入excel文件处理流程节点的解决方案
    • 查看sql修改痕迹(SQL Change Tracking on Table)
    • MongoDB安装为Windows服务方法与注意事项
    • App数据层设计及云存储使用指南
    • PostgreSQL启动过程中的那些事三:加载GUC参数
    • 写给MongoDB开发者的50条建议Tip1
    • Percolator与分布式事务思考(二)
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1