Les autres fonctions
1. NVL : tester une colonne à null
Le NVL pour « Null Value » permet de savoir si une colonne est renseignée ou pas et de lui attribuer une valeur dans le cas où elle est à null. La fonction correspondante dans SQL Server est ISNULL.
Syntaxe
SELECT NVL(<nom colonne>,<valeur attribuée>), ...
La valeur attribuée doit être de même type que la colonne testée.
Exemple Oracle
SELECT NumChambre, Commentaire, NVL(Commentaire, 'Vue sur le jardin') AS
Commentaires FROM Chambres;
Exemple SQL Server
SELECT NumChambre, Commentaire, ISNULL(Commentaire, 'Vue sur le jardin')
AS Commentaires FROM Chambres;
Résultat
NumChambre |
Commentaire |
Commentaires |
1 |
Belle vue |
Belle vue |
2 |
||
3 |
NULL |
Vue sur le jardin |
4 |
NULL |
Vue sur le jardin |
On constate que les chambres qui ont la colonne Commentaire à NULL sont remplacées par la valeur « Vue sur le jardin ». La seconde ligne contient un espace, qui n’est pas considéré comme NULL.
2. Tester plusieurs valeurs : COALESCE
Cette fonction permet de tester plusieurs valeurs NULL de colonnes sur une même fonction évitant ainsi de faire des tests avec des « IF » « THEN », etc.
Elle teste chaque colonne puis attribue le résultat de gauche à droite. La première colonne non null est attribuée. Si toutes les colonnes sont NULL, la fonction prendra la valeur par défaut...