Подтвердить что ты не робот

Presto проверяет, имеет ли NULL и возвращает значение по умолчанию (аналог NVL)

Есть ли какой-нибудь аналог NVL в БД Presto?

Мне нужно проверить, имеет ли поле значение NULL, и вернуть значение по умолчанию.

Я решаю это как-то так:

SELECT
  CASE 
    WHEN my_field is null THEN 0 
    ELSE my_field 
  END
FROM my_table

Но мне любопытно, есть ли что-то, что могло бы упростить этот код.

4b9b3361

Ответ 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)