sql:COALESCE

Un article de Polydoc.

Sommaire

[modifier] Prototype

COALESCE('value1' [, 'value2' [, ...]] )

[modifier] Description

COALESCE renvoie la première valeur non nulle de la liste de valeurs passées en arguments. C'est-à-dire que vous pouvez lui envoyer autant d'arguments que vous souhaitez, et la première valeur non nulle trouvée sera renvoyée.

[modifier] Notes

Si toutes les valeurs de la liste sont nulles, alors la valeur retournée sera NULL.

[modifier] Exemples

Soit une base de données tests :

CREATE DATABASE tests; -- On créé une base de données appelée tests
USE tests; -- On choisit d'utiliser cette BDD nouvellement créée

Dans cette base "tests", une table "joueurs" :

CREATE TABLE joueurs (pseudo VARCHAR(30), score INT);
INSERT INTO joueurs (pseudo, score) VALUES ('Shepard', 13854), ('Bogoris', NULL), ('Alexi', 4251), ('Janne', 11245), ('Shagrath', 1248), ('Fred', 42857);
SELECT pseudo, score FROM joueurs ORDER BY score DESC;

On souhaite que lorsqu'un score vaut NULL, il ne soit pas retourné NULL mais plutôt 0. Comment faire ? C'est simple :

SELECT pseudo, COALESCE(score, 0) FROM joueurs ORDER BY score DESC;

Et pour faire plus joli et plus pratique :

SELECT pseudo, COALESCE(score, 0) AS score FROM joueurs ORDER BY score DESC;

[modifier] Voir aussi

[modifier] Liens externes