Maison  >  Article  >  base de données  >  Comment fonctionne l'instruction CASE de MySQL ?

Comment fonctionne l'instruction CASE de MySQL ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-05 07:59:02171parcourir

How Does MySQL's CASE Statement Work?

Comprendre les mécanismes de MySQL CASE

L'instruction CASE de MySQL fonctionne comme une expression conditionnelle, vous permettant d'attribuer dynamiquement des valeurs en fonction de critères spécifiés. Bien que sa syntaxe puisse ressembler à une instruction if, son fonctionnement est distinct.

Travailler avec l'instruction CASE

La syntaxe générale de l'instruction CASE est la suivante :

CASE
    WHEN search_condition THEN statement_list
    [WHEN search_condition THEN statement_list] ...
    [ELSE statement_list]
END CASE

Dans ce contexte, la search_condition représente une comparaison qui détermine si la liste_instructions associée est exécutée ou non. La liste_instructions peut contenir n'importe quelle expression MySQL valide.

Exemple d'utilisation pour l'ordre des rôles

Pour générer un champ role_order avec des nombres différents en fonction de la valeur dans le champ user_role, vous peut utiliser l'instruction CASE comme suit :

CASE user_role
    WHEN 'Manager' THEN 5
    WHEN 'Part Time' THEN 7
    ELSE -1 -- Unknown
END

Dans cet exemple, l'instruction CASE agit comme une instruction switch. Lorsque user_role est égal à 'Manager', il attribue la valeur 5 à role_order. De même, lorsque user_role est égal à « Part Time », il attribue la valeur 7 à role_order. Si user_role ne correspond à aucune des conditions spécifiées, il attribue la valeur -1 par défaut.

Syntaxe alternative

MySQL fournit une syntaxe alternative pour l'instruction CASE lorsque vous examinez une seule valeur. Cette syntaxe est plus concise et peut être utilisée comme suit :

CASE
    WHEN user_role = 'Manager' THEN 4
    WHEN user_name = 'Tom' THEN 27
    WHEN columnA <> columnB THEN 99
    ELSE -1 -- Unknown
END

Dans cette forme alternative, la valeur comparée (user_role) est spécifiée au début, suivie des conditions WHEN.

En comprenant les mécanismes de l'instruction CASE et son comportement de type commutateur, vous pouvez l'utiliser efficacement pour attribuer des valeurs en fonction de critères spécifiques dans vos requêtes MySQL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn