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 )
  
select   @year = Year ( GetDate ())
  
select   @Month = Month ( GetDate ())
  
select   @Day = Day ( GetDate ())
  
select   @No = Str ( @Year , 4 , 0 ) +
                (
select
                 
case
                  
when   @Month >= 10   then   Str ( @Month , 2 , 0 )
                  
when   @Month < 10   Then   ' 0 ' + Str ( @Month , 1 , 0 )
                
end ) +
                (
select
                 
case
                  
when   @Day >= 10   then   Str ( @Day , 2 , 0 )
                  
when   @Day < 10   Then   ' 0 ' + Str ( @Day , 1 , 0 )
                 
end )
select   @Number   = Idd  from  lsh
select   @Nu = count ( * from  lsh
if   @Nu   = ' 0 '  
BEGIN
select   @No = @No + ' 0001 '
END
else
BEGIN
     
SELECT   @RandNo   =   STR ( CONVERT ( int ,( SUBSTRING ( @Number  , 9 , 4 )) + 1 ), 4 , 0 )
     
SELECT   @RandNo   =   REPLACE @RandNo , '   ' , ' 0 ' )
     
SELECT   @No   =   @No   +   @RandNo
END
insert   into  lsh(Idd)  values ( @No )
select   *   from  lsh

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值