【发布时间】:2014-01-22 13:09:04
【问题描述】:
我正在尝试在 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
但我收到以下错误:
ORA-00907:缺少右括号。
在 Derby SQL 中这是有效的。有人可以帮助我吗? 谢谢。
【问题讨论】:
-
CASE 评估条件并返回一个
expression,需要使用运算符对某个值/列进行评估。