注册 登录
编程论坛 SQL Server论坛

分享:可以自定义的编号表生成

mywisdom88 发布于 2017-08-14 16:28, 2101 次点击
/*
-- 可以自定义的编号规则表
drop table #表A
--go
create table #表A
(
       [Id] int identity(1,1),
       [日期] varchar(10),
       [序号] int,
       [编号] as 日期+right('000000'+cast(序号 as varchar(4)),6)

)
*/

declare @rq varchar(10)
set @rq='C' --如果你想按日期格式,你每天给这个参数赋值日期,如果你从头开始不变,可以给他赋固定值
-- 生成新编号语句
insert into #表A(日期,序号)
select isnull(max(@rq),@rq) as 日期,isnull(max(序号),0)+1 as 序号 from #表a where 日期=@rq

select * from #表A
3 回复
#2
厨师王德榜2017-08-14 16:52
这个很实用,谢谢分享。
#3
mywisdom882017-08-14 18:00
set @rq='C' --生成的编号是 C0001,C0002
set @rq='20170801' --生成的编号是 201708010001,201708010002
--如果要每天都不同,就每天都改变参数
set @rq='20170801'
set @rq='20170802'

-- 生成新编号语句
insert into #表A(日期,序号)
select isnull(max(@rq),@rq) as 日期,isnull(max(序号),0)+1 as 序号 from #表a where 日期=@rq
#4
pzywillpan2017-08-15 17:30
谢谢分享。。。
1