ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

根据每天时间,不同类型,编号新的一天从0001开始

2022-03-29 08:31:09  阅读:174  来源: 互联网

标签:varchar 0001 每天 -- Big 编号 Date 100 Mcount


 

如下

Create procedure [dbo].[SP_NumberingRule](
@HeadType nvarchar(50)
)
as

begin
--定义变量
declare @Puid varchar(50) --唯一uid
declare @i int
declare @Big varchar(100) --结尾自增编号 0001
declare @Date VARCHAR(100) --当前时间 八位数日期
declare @Letter varchar(100) --字母开头 DJBH
declare @Centretime varchar(100) --中间时间 20180110
declare @Dudate varchar(100) --赋值时间,使用
DECLARE @Mcount VARCHAR(50)

set @Date = CONVERT(varchar(8) , getdate(), 112 ) --当前时间

---开启事务
BEGIN TRAN

select top 1 @Puid = Uid, @Letter = CharacterFormat,@Dudate=StDatetime , @Big = DigitFormat,@Centretime= StDatetime , @Mcount = Conbination from BasicsManage B where B.name = @HeadType --获取编号规则

begin

--如果当前时间大于表中字段时间
if (@Date> @Dudate)
begin
set @i= rtrim(@Big) +1
set @Big= rtrim(@i) --编号从0000开始递增
set @Mcount = @Letter + @Date + right(REPLICATE('0',4) + rtrim(@Big),4)
UPDATE BasicsManage SET Conbination = @Mcount ,StDatetime = @Date where Uid = @Puid and Name = @HeadType
end

else
begin
print(@Mcount)
set @Big=rtrim(right(@Mcount,4)) +1 --原来基础上自增
set @Mcount = @Letter + @Date + right(REPLICATE('0',4) + rtrim(@Big),4)
UPDATE BasicsManage SET Conbination = @Mcount ,StDatetime = @Date where Uid = @Puid and Name = @HeadType
end

end

begin
commit tran; --执行成功将会添加数据
SELECT @Mcount
end
end

标签:varchar,0001,每天,--,Big,编号,Date,100,Mcount
来源: https://www.cnblogs.com/140510xcc/p/16070066.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有