首页 > 数据库技术 > 详细

SQL标量值函数——由秒返回时间格式字符串

时间:2020-09-12 22:59:45      阅读:81      评论:0      收藏:0      [点我收藏+]
--  ***********************************************
--  Author            :    
--  Create Date    :
--  Description     :   由秒返回时间格式字符串     
--  ***********************************************
CREATE FUNCTION [dbo].[fun_GetDateStr](@second BIGINT)
RETURNS NVARCHAR(100)
AS
BEGIN

    DECLARE @Result NVARCHAR(100)
    DECLARE @hour INT
    SELECT @hour=0

    DECLARE @minute INT
    SELECT @minute

    DECLARE @seconds INT
    SELECT @seconds=0

    IF(@second>0)
    BEGIN
       --1. 1 计算有多少小时
        SELECT @hour=CONVERT(INT,ROUND(CONVERT(MONEY,@second)/3600,0,1))
     DECLARE @tmp INT
     SELECT @tmp=0
     --1.2 排除小时后还剩余多少秒
     SELECT @tmp=@second-3600*@hour

    --2.1 计算有多少分钟
    SELECT @minute=CONVERT(INT,ROUND(CONVERT(MONEY,@tmp)/60,0,1))
    --2.2 排除分钟后有剩余多少秒
    SELECT @tmp=@tmp-60*@minute
    SELECT @seconds=@tmp
    
    --3.1 
    DECLARE @hourStr NVARCHAR(100)
    SELECT @hourStr=‘‘
    SELECT @hourStr=CASE WHEN @hour>0 
                                         THEN CONVERT(NVARCHAR(100),@hour) + 小时
                                         ELSE ‘‘ END

    DECLARE @minuteStr NVARCHAR(100)
    SELECT @minuteStr=‘‘
    SELECT @minuteStr=CASE WHEN @minute>0 
                                         THEN CONVERT(NVARCHAR(100),@minute) + 分钟
                                         ELSE ‘‘ END

    DECLARE @secondStr NVARCHAR(100)
    SELECT @secondStr=‘‘
    SELECT @secondStr=CASE WHEN @seconds>0 
                                         THEN CONVERT(NVARCHAR(100),@seconds) + 
                                         ELSE ‘‘ END

     SELECT @Result=@hourStr+@minuteStr+@secondStr
    END
    
END 
ELSE
BEGIN
    SELECT @Result=‘‘
END           

 

SQL标量值函数——由秒返回时间格式字符串

原文:https://www.cnblogs.com/lxh168/p/13658159.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!