Оператор Case для нескольких условий в Oracle

#sql #oracle #case

#sql #Oracle #case

Вопрос:

 CASE test
WHEN  NULL and  SUBSTR(('99999999' - Tst_Date),1,4) > 2009 THEN 'Medi'                     
WHEN   NULL and SUBSTR(('99999999' - Tst_Date),1,4) < 2009 THEN 'hills'
ELSE test
END AS "Phy"
  

Я что-то упускаю в приведенном выше операторе case?
Я продолжаю получать ошибку 00905. 00000 — «отсутствует ключевое слово»?

Комментарии:

1. функция substring substr не subsrt такая, как у вас

2. Это была опечатка. Извините, я отредактировал вопрос сейчас

Ответ №1:

Ваш синтаксис немного не в порядке. Используйте это:

 CASE WHEN test IS NULL AND SUBSTR(('99999999' - Tst_Date),1,4) > 2009 THEN 'Medi'
     WHEN test IS NULL AND SUBSTR(('99999999' - Tst_Date),1,4) < 2009 THEN 'hills'
     ELSE test
END AS "Phy"