我要在where条件中的以下代码: 条件语句类似于:
续订前一天, 保单具有新近独立的折扣(RAP16.DSCCD ='366'存在) 和 在续订时, 新近独立的折扣下降(RAP16.DSCCD ='366'下降)
我尝试了以下代码
AND case when tt.ja2_effdt_t = rap01.hmedt_t - 1
then trim(RAP16.DSCCD) = '366'
when trim(rap01.hmedt_t) <> tt.ja2_effdt_t)
then trim(RAP16.DSCCD) <> '366'
end
下面的代码中有一些语法错误,但是我无法纠正它。
答案 0 :(得分:2)
通常最好使用AND
/ OR
构造而不是case
子句中的WHERE
表达式。您probalby想要这样的东西:
AND ((tt.ja2_effdt_t = rap01.hmedt_t - 1 AND trim(RAP16.DSCCD) = '366')
AND
(trim(rap01.hmedt_t) <> tt.ja2_effdt_t AND trim(RAP16.DSCCD) <> '366'))