SQL语句:select replace(substring(convert(varchar(20),getdate(),120),1,10),'-','')+cast(MAX(订单号)+1 as varchar(4))
使用存储过程
--创建测试表
create table usertable(userid varchar(20),username nvarchar(20))
go
--创建触发器
create trigger tg_insert on usertable
for insert
as
declare @username nvarchar(20)
declare @userid varchar(20)
declare @num int
select @userid=max(userid) from usertable where userid like 'jzxd' + substring(convert(varchar(10),getdate(),112),5,4) + '%'
if @userid is null
set @userid='jzxd' + substring(convert(varchar(10),getdate(),112),5,4) + '-01'
else
begin
set @num=cast(substring(@userid,10,2) as int)
set @num=@num + 1
if @num<10
set @userid='jzxd' + substring(convert(varchar(10),getdate(),112),5,4) + '-0' + cast(@num as varchar(2))
else
set @userid='jzxd' + substring(convert(varchar(10),getdate(),112),5,4) + '-' + cast(@num as varchar(2))

本文介绍了如何在SQL Server中使用SQL语句和存储过程生成订单号。通过示例展示了一个创建测试表、触发器的过程,以及如何在插入新订单时自动生成订单号。订单号的格式包含日期和顺序编号,确保唯一性。

1万+

被折叠的 条评论
为什么被折叠?



