zoukankan      html  css  js  c++  java
  • 获得每天的日期流水 函数

    --获得每天的日期流水(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;  

  • 相关阅读:
    57. Insert Interval
    56. Merge Intervals
    55. Jump Game
    54. Spiral Matrix
    52. N-Queens II
    More Effective C++ 条款2 最好使用C++转型操作符
    More Effective C++ 条款1 仔细区别pointers和references
    Python_内置函数之max
    python_超级基础
    python_format格式化输出、while else、逻辑运算符、编码初识
  • 原文地址:https://www.cnblogs.com/zengtianli/p/8625318.html
Copyright © 2011-2022 走看看