use*_*755 0 sql oracle case where
我正在尝试在Oracle数据库中执行查询.该查询在where子句中有case构造.
where
sale.op = 2 and
case when (:stat = -11) then (sale.type_id = 27 or sale.type_id = 28 or sale.type_id = 29)
else
(sale.type_id = 27)
end
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
ORA-00907:缺少右括号.
在Derby SQL中这是有效的.有人可以帮帮我吗?谢谢.
where sale.op = 2
and ( (:stat = -11 and sale.type_id in (27, 28, 29))
or (:stat <> -11 and sale.type_id = 27)
)
Run Code Online (Sandbox Code Playgroud)