Gestion des NULL (PostgreSQL)
Aller à la navigation
Aller à la recherche
Les NULLS sont parfois difficile a utiliser en SQL. Voici un récapitulatif pour PostgreSQL (mais probablement valables pour d'autres)
COALESCE(val1, val2, ..., valN)
Renvoie la première valeur non nulle.
Exemple:
SELECT COALESCE(NULL, NULL, 'valeur', 'autre'); -- Résultat : 'valeur'
NULLIF(val1, val2)
Renvoie NULL si val1 = val2, sinon renvoie val1.
Exemple:
SELECT NULLIF(5, 5); -- Résultat : NULL
SELECT NULLIF(5, 3); -- Résultat : 5
IS NULL / IS NOT NULL
Teste si une valeur est nulle ou non.
Exemple:
SELECT * FROM table WHERE colonne IS NULL;
SELECT * FROM table WHERE colonne IS NOT NULL;
CASE WHEN ... THEN ... ELSE ... END
Permet de gérer des conditions plus complexes.
Exemple:
SELECT
CASE
WHEN score IS NULL THEN 'Pas de note'
WHEN score >= 10 THEN 'Réussi'
ELSE 'Échoué'
END AS résultat
FROM examens;
Note:
PostgreSQL ne supporte pas IFNULL ou NVL. Utilisez COALESCE ou CASE.