概述
使用触发器来实现
create table test(
id varchar(20),
sname varchar(20)
)
create TRIGGER [test_insert] ON [dbo].[test]
INSTEAD OF INSERT
AS
declare @str varchar(20)
declare @i integer
set @str = 'BV'+left(convert(char,getdate(),112),6)
select @i=isnull(max(cast(right(rtrim(id),len(id)-8) as integer)),0) from
(select id from test where id like @str+'%') a
set @i=@i+1
INSERT INTO TEST
SELECT @STR++cast(@i as char)as id,sname from inserted
上面建好后执行:
insert into test(sname) values('test')
id字段会自动编好号
**************
'VB' + datename(year,getdate()) + datename(month,getdate()) + convert(char(1),convert(int ,rand()*10))
****************
select 'BV' substring(convert(char(20),date_col,yyyy-mm-dd hh:mm:ss),1,10) to_char(num_col)from tablename
date_col是你时间列 如果没有可以用sysdate()代替
tablename是你的表名
num_col是你的编号列
最后
以上就是开放老鼠为你收集整理的SQL怎样自动生成编号格式如:BV+YYYYMM+编号的全部内容,希望文章能够帮你解决SQL怎样自动生成编号格式如:BV+YYYYMM+编号所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复