Синтаксическая ошибка в выражении CASE, невозможно исправить - PullRequest
0 голосов
/ 16 апреля 2019

Я хочу использовать код ниже в моем условии where: Оператор условия выглядит следующим образом:

ОДИН ДЕНЬ ДО ПРЕДОСТАВЛЕНИЯ, Политика имеет новую независимую скидку (RAP16.DSCCD = '366' существует) И ПРИ ОБНОВЛЕНИИ, TheНовые независимые скидки снижаются (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 

В приведенном ниже коде есть некоторая синтаксическая ошибка, но я не могу ее исправить.

1 Ответ

2 голосов
/ 16 апреля 2019

Обычно лучше использовать конструкции AND / OR вместо case выражений в предложении WHERE. Вы, вероятно, хотите что-то вроде:

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'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...