Я получаю ошибку при написании запроса в db2 sql. Мне нужен CASE с 3 условиями - PullRequest
0 голосов
/ 27 мая 2020

Вот мой запрос:

select CASE IF(DATE(Stud40.Start_DT) > '0001-01-01') 
  THEN Stud40.Start_DT
    ELSE IF(Stud40.Start_DT IS NULL) 
        THEN Stud50.Start_DT 
           ELSE Stud.Start_DT END AS "Stud_joining_DT",

Моя ошибка:

SQL Error [42601]: ILLEGAL SYMBOL ">". SOME SYMBOLS THAT MIGHT BE LEGAL ARE:. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.9.78

1 Ответ

1 голос
/ 27 мая 2020

Используйте case:

select (case when date(Stud40.Start_DT) > '0001-01-01'
             then Stud40.Start_DT
             when Stud40.Start_DT IS NULL
             then Stud50.Start_DT 
             else Stud.Start_DT 
        end) as " Stud_joining_DT ",

Зачем нужно ставить пробелы в псевдоним столбца?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...