41

Is there any analog of NVL in Presto DB?

I need to check if a field is NULL and return a default value.

I solve this somehow like this:

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

But I'm curious if there is something that could simplify this code.

David דודו Markovitz
  • 42,900
  • 6
  • 64
  • 88
Sasha Shpota
  • 9,436
  • 14
  • 75
  • 148

1 Answers1

99

The ISO SQL function for that is COALESCE

coalesce(my_field,0)

https://prestodb.io/docs/current/functions/conditional.html

P.S. COALESCE can be used with multiple arguments. It will return the first (from the left) non-NULL argument, or NULL if not found.

e.g.

coalesce (my_field_1,my_field_2,my_field_3,my_field_4,my_field_5)
Sayat Satybald
  • 6,300
  • 5
  • 35
  • 52
David דודו Markovitz
  • 42,900
  • 6
  • 64
  • 88