在case语句中返回一个布尔值

时间:2014-11-17 11:14:01

标签: oracle plsql

我试图从case语句返回一个布尔值,但编译器抱怨ORA-00936:缺少表达式错误:

SELECT
  CASE MYCOLUMN
     WHEN NULL THEN  true
  ELSE
       false
  END,
FROM MYTABLE;

我也尝试了以下但是它不起作用:

SELECT
  CASE MYCOLUMN
     WHEN NULL THEN  SELECT true
  ELSE
       SELECT false
  END,
FROM MYTABLE;

是否可以这样做?

2 个答案:

答案 0 :(得分:5)

IS支票需要NULL运算符

SELECT CASE WHEN MYCOLUMN IS NULL
            THEN 1
            ELSE 0
       END
FROM MYTABLE;

答案 1 :(得分:0)

SQL不支持

BOOLEAN类型。它仅在过程PL / SQL

中受支持