sql 中case when 用法 和 拼接字符串

declare @Store_cd  int
declare @strsql varchar(8000)
declare @table_id  varchar(50)
set @Store_cd=3

 

set @table_id= (case when @Store_cd<10 then '000'+convert(varchar,@Store_cd) 
             when @Store_cd<100 then '00'+convert(varchar,@Store_cd) 
             when @Store_cd<1000 then '0'+convert(varchar,@Store_cd) 
             end  )

 


set @strsql=''
set @strsql=@strsql+'
 select BraCD,CD,Price
 from dbo.biaoming_'+@table_id+'   或者 from的表是dbo.STORE_RATE_'+CONVERT(varchar(8),@Week)+'  需要用拼接字符串。
 where CD in                       相应的where中比如 week='+CONVERT(varchar(8),@Week)+'
         (select distinct JAN
          from #JAN)'

--print(@strSQL)
exec(@strSQL)

 

效果:dbo.biaoming_0003

      dbo.biaoming_0013

posted @ 2013-03-12 10:02  笑看天下  阅读(3661)  评论(0编辑  收藏  举报