web-dev-qa-db-fra.com

Presto vérifier si NULL et retourner par défaut (NVL analogique)

Existe-t-il un analogue de NVL dans Presto DB?

Je dois vérifier si un champ est NULL et retourner une valeur par défaut.

Je résous cela en quelque sorte comme ceci:

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

Mais je suis curieux de savoir s'il y a quelque chose qui pourrait simplifier ce code.

16
Sasha Shpota

La fonction ISO SQL pour cela est COALESCE

coalesce(my_field,0)

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

P.S. COALESCE peut être utilisé avec plusieurs arguments. Il renverra le premier argument (de gauche) non NULL, ou NULL s'il n'est pas trouvé.

par exemple.

coalesce (my_field_1,my_field_2,my_field_3,my_field_4,my_field_5)