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

Comment fonctionne l'instruction MySQL CASE ?

DDD
DDDoriginal
2024-11-04 17:05:02443parcourir

How Does the MySQL CASE Statement Work?

Comprendre l'instruction MySQL CASE

L'instruction MySQL CASE est un outil puissant qui vous permet d'évaluer plusieurs conditions et de renvoyer différentes valeurs en fonction de ces conditions. Elle est similaire à l'instruction if mais a une syntaxe unique et plus de flexibilité.

Comment fonctionne CASE

L'instruction CASE comporte deux composants principaux :

  1. Quand Conditions : Celles-ci précisent les conditions que vous souhaitez vérifier. Elles peuvent être simples ou complexes, et vous pouvez avoir plusieurs conditions WHEN.
  2. Liste des déclarations : C'est le code qui s'exécutera si la condition correspondante est vraie. Vous pouvez spécifier plusieurs instructions dans un seul bloc WHEN.

Exemple : attribution d'ordres de rôle

Pour générer un nouveau champ appelé role_order en fonction des valeurs du user_role, vous pouvez utiliser l'instruction CASE suivante :

<code class="sql">CASE
    WHEN user_role = 'Manager' THEN 5
    WHEN user_role = 'Part Time' THEN 7
    ELSE -1 -- Unknown
END</code>

Dans cet exemple, l'instruction CASE vérifie le champ user_role. Si la valeur est « Manager », il attribue 5 au champ role_order. Si la valeur est « Temps partiel », il attribue 7. Pour toute autre valeur, il attribue -1 pour indiquer un rôle inconnu.

Comprendre la syntaxe CASE

L'instruction CASE a deux syntaxes principales :

  1. Syntaxe générale : Cela vous permet d'utiliser n'importe quelle instruction de comparaison dans les conditions WHEN.
  2. Syntaxe simplifiée : Ceci est utilisé lorsque vous n'évaluez qu'une seule valeur et simplifie légèrement la syntaxe.

Exemple : Syntaxe simplifiée

L'instruction suivante utilise le syntaxe simplifiée pour attribuer des ordres de rôles :

<code class="sql">CASE user_role
    WHEN 'Manager' THEN 5
    WHEN 'Part Time' THEN 7
    ELSE -1 -- Unknown
END</code>

Cette syntaxe est plus simple et plus facile à lire, mais elle ne vous permet d'évaluer qu'un seul champ ou expression.

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