给你个例子 稍微该一下就可以了 用的是函数 ALTER function [dbo].[createLogNo]() returns nvarchar(16) as begin declare @logno nvarchar(16) --日志号 declare @day nvarchar(2) declare @month nvarchar(2) declare @year nvarchar(4) declare @no int --当天第几个日志号 declare @fno nvarchar(10) --日志号最后5位 set @day=right('0'+convert(nvarchar,day(getdate())),2) set @month=right('0'+convert(nvarchar,month(getdate())),2) set @year=year(getdate()) set @logno='Log'+@year+@month+@day --从数据库中取出当天的日志尾号是多少 select @no=count(substring(Log_id,1,11)) from LogInfo where @logno = substring(Log_id,1,11) if(@no=0) begin set @logno='Log'+@year+@month+@day+'00001' end else begin select @no=convert(nvarchar,convert(int,substring(Log_id,12,16))) from LogInfo where @logno = substring(Log_id,1,11) set @fno='0000'+convert(nvarchar,convert(nvarchar,(convert(int,@no)+1))) set @fno=right(@fno,5) set @logno=@logno+@fno end return @logno end
ALTER function [dbo].[createLogNo]()
returns nvarchar(16)
as
begin
declare @logno nvarchar(16) --日志号
declare @day nvarchar(2)
declare @month nvarchar(2)
declare @year nvarchar(4)
declare @no int --当天第几个日志号
declare @fno nvarchar(10) --日志号最后5位
set @day=right('0'+convert(nvarchar,day(getdate())),2)
set @month=right('0'+convert(nvarchar,month(getdate())),2)
set @year=year(getdate())
set @logno='Log'+@year+@month+@day
--从数据库中取出当天的日志尾号是多少
select @no=count(substring(Log_id,1,11)) from LogInfo where @logno = substring(Log_id,1,11)
if(@no=0)
begin
set @logno='Log'+@year+@month+@day+'00001'
end
else
begin
select @no=convert(nvarchar,convert(int,substring(Log_id,12,16))) from LogInfo where @logno = substring(Log_id,1,11)
set @fno='0000'+convert(nvarchar,convert(nvarchar,(convert(int,@no)+1)))
set @fno=right(@fno,5)
set @logno=@logno+@fno
end
return @logno
end