--以下**生成的編號長度為12,前6位為日期資訊,格式為yymmdd,後6位為流水號。
--建立得到當前日期的檢視
create view v_getdate
asselect dt=convert(char(6),getdate(),12)
go--得到新編號的函式
create function f_nextbh()
returns char(12)
asbegin
declare @dt char(6)
select @dt=dt from v_getdate
return( select @dt+right(1000001+isnull(right(max(bh),6),0),6) from tb with(xlock,paglock) where bh like @dt+'%')
endgo
--在表中應用函式
create table tb(
bh char(12) primary key default dbo.f_nextbh(),
col int
)--插入資料
insert tb(col) values(1)
insert tb(col) values(2)
insert tb(col) values(3)
delete tb where col=3
insert tb(col) values(4)
insert tb(bh,col) values(dbo.f_nextbh(),14)
--顯示結果
select * from tb
/*--結果bh col
------------------- -----------
050405000001 1
050405000002 2
050405000003 4
050405000004 14
--*/
原文:
使用編號表按日期生成流水號的示例 sql
編號表 create table tb no name char 2 not null,編號種類的名稱 days int not null,儲存的是該種編號那一天的當前編號 head nvarchar 10 not null default 編號的字首 currentno int not null ...
SQL生成流水號
經過了幾次的測試終於成功了 declare year int,month int,day int,temp no varchar 12 needno varchar 4 no varchar 20 number varchar 50 randno varchar 50 nu varchar 10 s...
sql 生成流水號
mysql生成流水號 select lpad ifnull max substring business order code,3,4 1,1 4,0 as waternumber from bh customer info business order code的值為前面兩位英文,後面四位數字,例...