Проблема в сравнении NULL
. Сравнение никогда не выполняется, даже если используется из сравнения в выражении CASE
.
Если вы хотите сделать это с помощью CASE
, то вам нужно использовать IS NULL
:
(CASE WHEN td.originalLinearAirDate IS NULL
THEN '12345678'
END) As originalLinearAirDate
Если вы хотите вернуть исходное значение в этом случае, вам нужно ELSE
:
(CASE WHEN td.originalLinearAirDate IS NULL
THEN '12345678'
ELSE td.originalLinearAirDate
END) As originalLinearAirDate
Обратите внимание, что это вернет ошибку, если столбец действительно DATE
, потому что '12345678'
нельзя преобразовать в дату.
Эту версию лучше выразить, используя COALESCE()
:
COALESCE(td.originalLinearAirDate, '12345678')