34,590
社区成员
发帖
与我相关
我的任务
分享
set @SQL=' '
set @sqlwhen=' '
begin
SET @SQL='SELECT Id,SeminarTheme, Cost,Case When SeminarStatus=1 then '+'''pass'''+' When SeminarStatus=0 then 0 end AS SeminarStatus_1 FROM sfa_t_TBasSeminar_base WHERE'+@sqlwhen+''
EXEC(@SQL);
PRINT(@SQL);
end
end
测试语句
exec statustest N'2013-05-12',N'2015-05-12'
错误提示:
列名 'A' 无效。
SET @SQL='SELECT Id,SeminarTheme, Cost,Case When SeminarStatus=1 then '+'''pass'''+' When SeminarStatus=0 then 0 end AS SeminarStatus_1 FROM sfa_t_TBasSeminar_base WHERE'+@sqlwhen+''
这个种的“PASS”我改怎么写,括号的问题?
create proc p1
@m int
as
begin
declare @s varchar(8000) ,@i int,@cnt int
set @i=1
set @s='create table tb'+CAST(@m as varchar(2))+'( '
if @m in(1,3,5,7,8,10,12)
set @cnt=31
else if @m in(4,6,9,11)
set @cnt=30
else if @m=2--没有判断闰年平年
set @cnt=28
while @i<=@cnt
begin
set @s=@s+'col'+cast(@i as varchar(2))+' varchar(10),'
set @i=@i+1
end
set @s=SUBSTRING(@s,1,len(@s)-1)+')'
exec(@s)
end
exec p1 5
没有判断闰年,平年,这个自己处理。