sql 高手帮菜鸟看下,怎么错了?谢谢了
declare@ResumeState1varchar(20)select*fromSearchViewwhere1=1and(casewhen@ResumeState1...
declare @ResumeState1 varchar(20)
select * from SearchView
where 1 = 1
and (case when @ResumeState1 = '未筛选' then
state = 0 //在这儿报错:= 附近有语法错误
else 1 = 1 end) 展开
select * from SearchView
where 1 = 1
and (case when @ResumeState1 = '未筛选' then
state = 0 //在这儿报错:= 附近有语法错误
else 1 = 1 end) 展开
展开全部
declare @ResumeState1 varchar(20)
declare @sql varchar(100)
set @sql = 'select * from SearchView
where 1=1 and '+case when @ResumeState1='未筛选' then 'state = 0'
else '1 = 1'
end
exec(@sql)
declare @sql varchar(100)
set @sql = 'select * from SearchView
where 1=1 and '+case when @ResumeState1='未筛选' then 'state = 0'
else '1 = 1'
end
exec(@sql)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
then 后面只能跟值不能跟表达式 你这样写sql会理解判断state是否等于0 成为逻辑表达式所以不能那样写
declare @ResumeState1 varchar(20)
select * from SearchView
where state = (case when @ResumeState1 = '未筛选' then
0 else state end)
declare @ResumeState1 varchar(20)
select * from SearchView
where state = (case when @ResumeState1 = '未筛选' then
0 else state end)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
case 的语法不对 不能这样使用 state=(case when @ResumeState1 = '未筛选' then
state = 0 //在这儿报错:= 附近有语法错误
else 1 = 1 end)
state = 0 //在这儿报错:= 附近有语法错误
else 1 = 1 end)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询