SQL怎样自动生成编号格式如:BV+YYYYMM+编号
2008-06-03 12:40
441 查看
使用触发器来实现
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是你的编号列
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是你的编号列
相关文章推荐
- 怎样以快速样式的方式在word文档中生成以下多级自动编号
- SQL 数据库生成自动编号代码
- sql自动生成{00N}编号
- SQL2000中生成带自动编号的新表的sql语句.
- 用当前日期格式自动生成编号
- 我想在一个表单中操作“档案”表,但其中有“编号”和“名称”两拦,另有“编码”表有两者一一对应,请问怎样用sql在本表单中输入“编号”时,让“名称”拦自动填写?
- T-SQL利用触发器自动生成单据编号
- SQL : 自动生成订单编号
- 【数据库SQL】自动生成编号功能
- 动态SQL根据旧编号自动排序生成有规则的新编号
- sql 自动生成编号函数
- SQL获取下个一个自动生成的编号
- SQL生成按月的自动编号
- 怎样在Access和MS Sql Server中使一列字段自动编号增加(如 id int 主键 这一列自动增加)
- 有订单表SO_Table,单号字段RefNo VARCHAR(10),需要实现自动编号,格式为YYYYMMXXXX,其中XXXX为序号,如:2004050001,2004050002……2004059999等,采用Transact-SQL实现新订单编号的思
- SQL 2008 Insert返回自动编号id三种方法比较
- java访问sql 2008 检索自动生成的键,获得 IDENTITY 值的方法
- word图表自动编号后,删除其中一张,后面的图表编号怎么不变呢?怎样让后面的图表编号都-1?
- SQL自动生成固定位数序号000012
- 根据表名自动生成INSERT,UPDATE,DELETE,SELECT的SQL语句