Presto проверяет, имеет ли NULL и возвращает значение по умолчанию (аналог NVL)
Есть ли какой-нибудь аналог NVL в БД Presto?
Мне нужно проверить, имеет ли поле значение NULL, и вернуть значение по умолчанию.
Я решаю это как-то так:
SELECT
CASE
WHEN my_field is null THEN 0
ELSE my_field
END
FROM my_table
Но мне любопытно, есть ли что-то, что могло бы упростить этот код.
Ответы
Ответ 1
Функция ISO SQL для этого является COALESCE
coalesce(my_field,0)
https://prestodb.io/docs/current/functions/conditional.html
PS COALESCE
можно использовать с несколькими аргументами. Он вернет первый (слева) ненулевой аргумент или NULL, если не найден.
например
coalesce (my_field_1,my_field_2,my_field_3,my_field_4,my_field_5)