永发信息网

会议编号 自动生成年月日加3位流水号有没有代码,参考下

答案:2  悬赏:20  手机版
解决时间 2021-04-02 23:20
会议编号 自动生成年月日加3位流水号有没有代码,参考下
最佳答案
--一种方式就是先从数据表中取编号最大值,然后流水+1
create procedure GenerateSeq
as
begin
declare @MaxSeq varchar(20)
declare @NewSeq varchar(20)
declare @seq int
select @MaxSeq=MAX(id) from t1 where SUBSTRINg(1,8,id)=convert(varchar(20),getdate(),112) --取表中当日最大编号
select @seq=cast(SUBSTRINg(@MaxSeq,9,3) as int)+1
if @seq>99
set @NewSeq=convert(varchar(20),getdate(),112)+CAST(@seq as varchar)
if @seq>9 and @seq<=99
set @NewSeq=convert(varchar(20),getdate(),112)+'0'+CAST(@seq as varchar)
if @seq<=9
set @NewSeq=convert(varchar(20),getdate(),112)+'00'+CAST(@seq as varchar)
print @NewSeq
end
go
exec GenerateSeq
go
--另一种方式是专门create一张特殊的表保存编号
CREATE TABLE [dbo].[GenSeq](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Code]  AS (convert(varchar(20),getdate(),112)+right((1000)+[ID],(3))),--此即为编号列
[InDate] [datetime] NULL
)
go
Create procedure [dbo].[GenerateSeq]
as
begin
 declare @code varchar(30)
 insert into GenSeq values (GETDATE());--每次插入的数据都是新的编号,先生成再取出来用即可
end
go
全部回答
oracle数据库吗?
如果是oracle,用sequence,非常简单
select to_char(sysdate,'YYYYMMDD')||seq.next_val from dual追问不是,sql2012
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
250千克小麦可以磨多少千克面粉
格力空调压缩机不运行不制冷
处对象期间对方父亲死亡需要去吊唁吗?
Peoplewaitingfortheinterviewwereca
想求名字一个,朗朗上口,大气为好!万分感谢
莆田系是什么
身份证上和实际属相不同在买房看风水时应以哪
怎么皮革上的记号笔痕
唐县什么地方有麻里疙瘩
遵义县南白一中新校区详细地址
72v48a 电动车两组每天需要几个电子儿
抚顺工人文化宫幼儿园地址好找么,我有些事要
今天休息如何发说说 今天休息的说说幽默
网线能够承受多大的电压?
求上海纺织博物馆的观后感600字以上的!(最
推荐资讯
一个已婚渣男,被发现出轨后回到老婆身边,事
旧房改造需要 注意什么
棉纺纱锭是什么意思?
刚买的茉莉花,土,还要加复合肥吗,新买的有
谁有这张图的高清版(右上角哪些也去掉
能否和漫威DC一战 九部不可错过的超级英雄
梦圆网吧地址在什么地方,我要处理点事!
少年曾经说过,不想看到死去的人,如果可以被拯
想买音响,用来听歌,看电影,玩游戏,有推荐
想办张银行卡每月存3000要交什么费用吗?
l13j1屋108-2f1是什么防水材料
钓二十斤鱼用多粗的线
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?