30/05/2008Avant d'utiliser MAX ou MIN dans une requête, il faut gérer la possibilité que l'une des occurrences du champ soit à NULL.
Voici la façon de le gérer sur Oracle, SQL/Server, MySQL afin de renvoyer une autre valeur dans le cas de NULL.
Oracle :
NVL.
Exemple :
SELECT MAX(NVL(champn,0))+1 AS Maxi FROM TABLE
SQL-Server :
ISNULL.
Exemple :
SELECT MAX(ISNULL(L_INDEX,0))+1 AS Maxi FROM TABLE
aussi équivalent à :
SELECT MAX(CASE WHEN nomChamp IS NULL THEN 0 ELSE NomChamp END)+1 AS Maxi
MySQL :
IFNULL.
Exemple :
SELECT MAX(IFNULL(champn,0)+1) AS Maxi FROM TABLE
Dernière modification le 23/03/2018 - Quillevere.net