Sql 如何在Oracle中的另一种情况下使用Case?

Sql 如何在Oracle中的另一种情况下使用Case?,sql,oracle,Sql,Oracle,在Oracle中执行以下SQL时 SELECT (CASE WHEN (CASE WHEN (1=1) THEN (1=1) ELSE (1=0) END) THEN 1 ELSE 0 END) "m1" FROM "mock_ta

在Oracle中执行以下SQL时

  SELECT (CASE
            WHEN (CASE
                    WHEN (1=1)
                      THEN (1=1)
                    ELSE (1=0) 
                  END) 
            THEN 1 
            ELSE 0 
          END) "m1"
  FROM "mock_table_1" "t0";
它将抛出以下错误消息

ORA-00907:缺少右括号

那么,如果我想在另一种情况下使用Case,我应该怎么做呢?

(可以省略括号)DUAL只是为了测试

SELECT  CASE WHEN  CASE 
                   WHEN 1=1 THEN 1
                   ELSE 0 
                   END =1 THEN 1
             ELSE 0 END "m1"
  FROM DUAL;

大小写返回一个值。因此,在结束后,您可以在
中执行下一个条件

,然后
否则
部分您无法计算表达式,您需要将问题所在的结果表达式放入查询中