declare @sign  varchar(20)
declare @today varchar(20)
declare @tbl varchar(50) --表名
declare @id_name varchar(50) --编号字段名字
declare @max_id varchar(50)
declare @sqls nvarchar(4000)
set @sign='GE'
set @today='2003-11-5'
select @tbl=tbl_name_vch,@id_name=field_id_vch from sy_tbl_set where sign_vch=@sign
set @sqls='select @a=max('+@id_name+') from ['+@tbl +'] where fildate_dtm='''+@today+''''
exec sp_executesql @sqls,N'@a varchar(50) output',@max_id output


select max_id       --这里显示为null,本来有值的 --set @max_id=max_id
if @max_id is null
begin
set @max_id=@sign+convert(varchar(10),getdate(),112)+'0001'
end
else
begin
set @max_id=left(@max_id,len(@max_id)-4)+right(@max_id,4)+1
end
select @max_id