在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-When in another Case-When Condition?
,我该怎么办?答案 0 :(得分:0)
(您可以省略括号)FROM DUAL仅用于测试
SELECT CASE WHEN CASE
WHEN 1=1 THEN 1
ELSE 0
END =1 THEN 1
ELSE 0 END "m1"
FROM DUAL;
CASE返回一个值。所以在END之后你可以做下一个条件