码迷,mamicode.com
首页 > 其他好文 > 详细

获得每天的日期流水 函数

时间:2018-03-22 19:22:59      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:ret   date   har   creat   body   函数   UNC   set   test   

--获得每天的日期流水(20160507001)
CREATE FUNCTION [dbo].[f_GetDateFlowNo]
    (
      ---日期流水(20160507001)
      @dateFlowNo VARCHAR(30) ,
      --流水长度len(0001)
      @noLen BIGINT ,
      @showtype VARCHAR(8) --yymmdd,yyyymmdd,yymm,yyyymm
    )
RETURNS VARCHAR(30)
AS
    BEGIN
        --定义当天字符串
        DECLARE @DateStr VARCHAR(10);
        --定义序号字符串
        DECLARE @No VARCHAR(20);
        --得到序号No字符串
        DECLARE @NoStr VARCHAR(20)= ‘00000000000000000000‘;
        SET @showtype=LOWER(@showtype) ; 
        SET @DateStr = CASE WHEN @showtype = ‘yyyymmdd‘
                            THEN CONVERT(VARCHAR(8), GETDATE(), 112)
                            WHEN @showtype = ‘yymmdd‘
                            THEN CONVERT(VARCHAR(6), GETDATE(), 12)
                            WHEN @showtype = ‘yymm‘
                            THEN CONVERT(VARCHAR(4), GETDATE(), 12)
                            WHEN @showtype = ‘yyyymm‘
                            THEN CONVERT(VARCHAR(6), GETDATE(), 112)
                            ELSE CONVERT(VARCHAR(8), GETDATE(), 112)
                       END
       
        --判断传入的字符串是否为‘‘
        IF ISNULL(@dateFlowNo, ‘‘) = ‘‘
            BEGIN
                SET @dateFlowNo = @DateStr + RIGHT(@NoStr + ‘1‘, @noLen); 
            END;
        ELSE
            BEGIN
                --去到当前序号+1
                SET @No = CAST(CAST(REPLACE(@dateFlowNo, @DateStr, ‘‘) AS BIGINT)
                    + 1 AS VARCHAR(20));
                --判断长度是否超过序号最大字符串(不超过补)
                IF LEN(@No) < @noLen
                    BEGIN
                        SET @No = RIGHT(@NoStr + @No, @noLen);
                    END;
                --返回值赋值                       
                SET @dateFlowNo = @DateStr + @No;
            END;
        RETURN @dateFlowNo;

    END;  

获得每天的日期流水 函数

标签:ret   date   har   creat   body   函数   UNC   set   test   

原文地址:https://www.cnblogs.com/zengtianli/p/8625318.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!