Sql 如何在Oracle中的另一种情况下使用Case?
在Oracle中执行以下SQL时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
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;
大小写返回一个值。因此,在结束后,您可以在
中执行下一个条件,然后
和否则
部分您无法计算表达式,您需要将问题所在的结果表达式放入查询中