declare @newDDH varchar(20)
select @newDDH =(select top 1 right(rTRIM(user_num),4) from user_list where convert(varchar(8),getdate(),12)=left(lTRIM(user_num),6) order by user_num desc)
if (@newDDH=NULL)
set @newDDH='0001'
set @newDDH=convert(varchar(6),getdate(),12)+ right(Convert(int,right(@newDDH,4))+10001,4)
select @newDDH读取表中当天有没有用户注册,如果没有的话就从0001开始,如果有的话读取当前表中当天注册用户里 user_num最大的,把后四位转换成数值后加1,上面的加10001是为了把数值变成5位后转换成字符型再截取后四位,然后把当前日期转换为yyyymmdd再拼接上后四位。现在问题是如果当天已经用人注册的话,这段代码没有问题会累加。但如果当天没有人注册的话就出现问题:
select @newDDH 里面是 NULL个人觉得应该是if (@newDDH=NULL)
set @newDDH='0001'
这两句有些问题,请高手们赐教。
select @newDDH =(select top 1 right(rTRIM(user_num),4) from user_list where convert(varchar(8),getdate(),12)=left(lTRIM(user_num),6) order by user_num desc)
if (@newDDH=NULL)
set @newDDH='0001'
set @newDDH=convert(varchar(6),getdate(),12)+ right(Convert(int,right(@newDDH,4))+10001,4)
select @newDDH读取表中当天有没有用户注册,如果没有的话就从0001开始,如果有的话读取当前表中当天注册用户里 user_num最大的,把后四位转换成数值后加1,上面的加10001是为了把数值变成5位后转换成字符型再截取后四位,然后把当前日期转换为yyyymmdd再拼接上后四位。现在问题是如果当天已经用人注册的话,这段代码没有问题会累加。但如果当天没有人注册的话就出现问题:
select @newDDH 里面是 NULL个人觉得应该是if (@newDDH=NULL)
set @newDDH='0001'
这两句有些问题,请高手们赐教。
declare @newDDH varchar(20)
select @newDDH =(select top 1 right(rTRIM(user_num),4) from user_list where convert(varchar(8),getdate(),12)=left(lTRIM(user_num),6) order by user_num desc)
--if (@newDDH=NULL) set @newDDH=isnull(@newDDH,'0001') ---用这个试试set @newDDH=convert(varchar(6),getdate(),12)+ right(Convert(int,right(@newDDH,4))+10001,4)
select @newDDH