【发布时间】:2019-05-29 09:34:18
【问题描述】:
我的 case 语句中有一些语法错误,我正在检查以下条件:
((RAP10B.CLMSRC = '2', RAP01.EFFDT - 3 years <= RAP10.LOSSDT < RAP01.EFFDT)
OR
(RAP10B.CLMSRC <> '2', RAP01.EFFDT - 3 years <= RAP10.LOSSDT < RAP01.EFFDT - 60 days)
下面是我正在使用的代码。
CASE
WHEN RAP10B.CLMSRC = '2'
THEN rap10.lossdt_t BETWEEN Add_months(rap01.teffdt_t, - 36) AND rap01.teffdt_t
WHEN RAP10B.CLMSRC <> '2'
THEN rap10.lossdt_t BETWEEN Add_months(rap01.teffdt_t, - 36) AND (rap01.teffdt_t - 60)
END
错误消息是“ORA-00905:缺少关键字”。但是我找不到丢失的东西。
【问题讨论】:
-
你想做什么?这个case expression 在 WHERE 子句中吗?
-
@jarlh 我在 where clasue 中使用这种情况,我必须使用我在问题中提到的条件。
-
不要那样做。请改用 AND/OR 结构!