Formation PUB200 : MySQL, 2018 Conditions dans les requêtes

14.2 Condition directement sur la valeur d'un champ


Lorsque vous désirez effectuer un test dans une requête, MySQL vous offre également une syntaxe permettant de réagir selon la valeur d'un champ donné.

Avec cette syntaxe, on n'entrera pas une condition (pouvant être évaluée à vrai ou à faux) mais plutôt une valeur qui sera comparée à la valeur du champ.

Syntaxe MySQL

...

CASE nom_champ

    WHEN 'valeur_a' THEN 'valeur_si_nom_champ_vaut_valeur_a'

    WHEN 'valeur_b' THEN 'valeur_si_nom_champ_vaut_valeur_b'

    ELSE 'valeur_si_nom_champ_ne_vaut_ni_a_ni_b'

END

...

Remarquez qu'avec cette syntaxe, on doit vérifier si la valeur d'un champ est égale à une valeur spécifiée. On ne peut pas travailler avec les autres opérateurs de comparaison.

Ex :

MySQL

SELECT id, CASE etat

    WHEN 'T' THEN 'Terminé'

    WHEN 'EC' THEN 'En cours'

    ELSE 'À faire'

END AS etat

FROM lignesfactures;

Attention : cette syntaxe ne permet pas de travailler avec des valeurs nulles. Si tel est votre besoin, vous devrez travailler avec la syntaxe qui vérifie une condition complète (voir fiche précédente).

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre