Цель состоит в том, чтобы просто проверить, соответствует ли поле NULL
или нет, выдавая значение 1
, если поле не NULL
, и 0
в противном случае. Я не могу использовать здесь COALESCE
, потому что, если поле не NULL
, я просто хочу вернуть 1
, а не значение поля.
У меня внутреннее ощущение, что есть уже функция, которая делает это - например, что-то вроде NULL_STATUS_INTEGER(foo.bar)
- вместо того, чтобы записывать полный оператор CASE
для CASE WHEN foo.bar IS NULL THEN 0 ELSE 1 END
. Я не говорю, что версия CASE
абсурдно длинная, но мне просто странно, что нет более короткого способа сделать это.
Меня в первую очередь интересуют решения, которые не ограничиваются один поставщик SQL, но я использую SAS, если есть способ c, специфичный для SAS, сделать это в PROC SQL
.