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