Maison > base de données > tutoriel mysql > Comment puis-je utiliser l'instruction CASE de MySQL pour attribuer des valeurs en fonction de conditions ?

Comment puis-je utiliser l'instruction CASE de MySQL pour attribuer des valeurs en fonction de conditions ?

DDD
Libérer: 2024-11-08 12:59:02
original
556 Les gens l'ont consulté

How Can I Use MySQL's CASE Statement to Assign Values Based on Conditions?

Syntaxe MySQL CASE expliquée

L'instruction CASE de SQL vous permet d'exécuter de manière conditionnelle différents ensembles d'instructions en fonction de conditions spécifiques. Ce n'est pas une instruction if-else ; cela ressemble plutôt à une instruction switch.

Pour comprendre le fonctionnement de CASE, considérons l'exemple suivant :

Problème :

Vous avez un champ nommé user_role dans la table user, qui contient des rôles d'utilisateur tels que "Manager", "Part Time", etc. Vous devez générer un nouveau champ nommé role_order qui attribue un numéro différent à chaque rôle. Par exemple, si user_role = 'Manager', alors role_order doit être 5.

Solution :

En utilisant la syntaxe CASE, vous pouvez implémenter cette logique comme suit :

<code class="sql">CASE 
    WHEN user_role = 'Manager' then 5
    WHEN user_role = 'Part Time' then 7
    ELSE -1 --unknown
END</code>
Copier après la connexion

Ici, l'instruction CASE :

  • Examine la valeur du champ user_role
  • S'il est égal à 'Manager', il renvoie 5
  • S'il est égal à « Temps partiel », il renvoie 7
  • S'il ne correspond à aucune des valeurs spécifiées, il renvoie -1 (représentant un rôle inconnu)

Une autre option de syntaxe :

Si vous n'examinez qu'une seule valeur, vous pouvez utiliser une syntaxe plus concise :

<code class="sql">CASE user_role
    WHEN 'Manager' then 5
    WHEN 'Part Time' then 7
    ELSE -1 --unknown
END</code>
Copier après la connexion

N'oubliez pas que CASE vous permet d'évaluer plusieurs conditions et exécuter conditionnellement différentes instructions. C'est un outil puissant pour gérer la logique conditionnelle dans les requêtes SQL.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal