select 1 where case right('2006-4',1) when '4' then right('200611',2) >= '10' and right('200611',2) <= '12' end报错
服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: '>' 附近有语法错误。
应该显示是1才对的,怎么改?
服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: '>' 附近有语法错误。
应该显示是1才对的,怎么改?
既然select了,那没有from,又何来where呢?
when '4' then right('200611',2) end 结果
结果
----
11(所影响的行数为 1 行)
本来是这样的:select 1 where left(right('200611a',3),2) >= '10' and left(right('200611a',3),2) <= '12'
结果为1我加了CASE语句后,就报错。
select 1 where case right('2006-4',1) when '4' then right('200611',2) >= '10' and right('200611',2) <= '12' end这个CASE怎么写??
本来是这样的:select 1 where right('200611',2) >= '10' and right('200611',2) <= '12'
结果为1我加了CASE语句后,就报错。
select 1 where case right('2006-4',1) when '4' then right('200611',2) >= '10' and right('200611',2) <= '12' end这个CASE怎么写??
right('200611',2) >= '10' and right('200611',2) <= '12' end返回:
1
right('200611',2) >= '10' and right('200611',2) <= '12' end
去掉:1 where 就可以了
返回结果:
1
楼主把语法搞错case when right('2006-4',1)=4 and right('200611',2) >= '10' and right('200611',2) <= '12' and right('200611',2) <= '12' then 答案 end
是条件嘛,怎么写在了then 的后面??
select 1
where
case right('2006-4',1) when '4' then right('200611',2) end >= '10'
and right('200611',2) <= '12'
是不是這個?
select case when right('2006-4',1)='4'
and right('200611',2) >= '10' and right('200611',2) <= '12'
then 1 end