oracle case when 中写 IS NOT NULL sql语句出错

SELECT * FROM 表名 WHERE 1 =1 AND CASE WHEN 字段1 = 0 THEN 字段2 IS NOT NULL END为什么执行出错呢? 错误信息 【ORA-0095:missing keyword】字段没有错误

SELECT  * FROM  表名
WHERE 1 =1  AND  (CASE WHEN 字段1=0  THEN  字段2  END) IS NOT NULL

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-14
SELECT * FROM 表名 WHERE 1 =1 AND CASE WHEN 字段1 = 0 THEN 执行的语句
WHEN 字段2 IS NOT NULL THEN 执行的语句 END
第2个回答  2014-01-14
select CASE WHEN 字段1 = 0 THEN 字段1 when 字段2 IS NOT NULL then 字段2 else null END
from 表名

case when是写在select里面的
第3个回答  2014-01-14
好久没用过SQL了,这么高级,缺少主键!
第4个回答  2014-01-14
单个CASE WHEN只能一个字段,你用了两个字段