• 生成订单号


    USE [DB]
    GO

    /****** Object:  UserDefinedFunction [dbo].[GetNewPayOrderCode]    Script Date: 03/12/2013 16:26:22 ******/
    SET ANSI_NULLS ON
    GO

    SET QUOTED_IDENTIFIER ON
    GO

    CREATE FUNCTION [dbo].[GetNewPayOrderCode]
    (
       @Date DATETIME

    RETURNS VARCHAR(16)
    AS 
    BEGIN
     Declare @Year    Char(4)     -- 年月
     Declare @Month     Char(2)   -- 月
     Declare @Day     Char(2)    -- 日
     Declare @MaxPayCode Char(4)     -- 最大的流水号
     Declare @NewPayCode char(16) -- 返回新流水号

     Set @Year =  Substring(Convert(Char(10), @Date, 112), 1, 4)
     Set @Month = Substring(Convert(Char(10), @Date, 112), 5, 6)
     Set @Day =   Substring(Convert(Char(10), @Date, 112), 7, 8)
     
     Declare @Prefix    VARCHAR(50)     -- 前缀
        SELECT @Prefix = ConfigValue FROM LKConfig WHERE ConfigKey='OrderCodePrefix'
       
     SELECT @MaxPayCode = Right(Max(Code), 4) FROM PayOrder
     WHERE LEFT(Code, 11) = @Prefix + @Year + @Month + @Day

     IF IsNull(@MaxPayCode, '') = ''
     BEGIN
      Set @NewPayCode = @Prefix + @Year + @Month + @Day + '0001'
     END
     ELSE
     BEGIN
      Set @NewPayCode = @Prefix + @Year + @Month + @Day + Right('0000' + CAST(CAST(@MaxPayCode AS INT)+ 1 AS Varchar(4)), 4)
     END

     RETURN @NewPayCode
    END

    GO

  • 相关阅读:
    Java单例模式
    svn 清理失败 (clean up 失败) 的解决方法
    linux chrome 安装过程记录
    docker
    linux-cat-grep
    linux-批量结束进程
    linux-压缩与解压缩(gz,zip,tar,jar,war)
    git-服务器地址切换
    linux-tomcat连接数查询
    git-无法add文件的问题
  • 原文地址:https://www.cnblogs.com/gaoshuai/p/2955953.html
Copyright © 2020-2023  润新知