Le grand Coalesce

      Coalesce est très simple à comprendre. COALESCE(valeur1 [,... valeurN]). La première valeur non nulle est retournée. C’est une fonction standard SQL et vous la retrouvez donc logiquement avec PostgreSQL mais aussi Oracle, SQL Server etc. Elle remplace avantageusement la fonction NVL d’Oracle ou la fonction ISNULL de SQL Server. Il est donc préférable d’utiliser COALESCE même avec ces SGBDR.


      Exemple avec Oracle :
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production SQL> select nvl(null,1) from dual; NVL(NULL,1) ----------- 1 SQL> select coalesce (null,1) from dual; COALESCE(NULL,1) ---------------- 1

      Avec PostgreSQL pas de table dual donc cela donne :
psql (9.4.5) postgres=# select nvl(null, 1); ERREUR: la fonction nvl(unknown, integer) n'existe pas LIGNE 1 : select nvl(null, 1); ^ ASTUCE : Aucune fonction ne correspond au nom donné et aux types d'arguments. Vous devez ajouter des conversions explicites de type. postgres=# select coalesce(null,1); coalesce ---------- 1 (1 ligne)

Mise à jour : 25/12/2015