Maison > base de données > tutoriel mysql > Comment l'expression CASE de MySQL fonctionne-t-elle comme une instruction Switch ?

Comment l'expression CASE de MySQL fonctionne-t-elle comme une instruction Switch ?

Patricia Arquette
Libérer: 2024-11-05 17:33:02
original
590 Les gens l'ont consulté

How Does MySQL's CASE Expression Function Like a Switch Statement?

Comprendre l'expression CASE de MySQL

Contrairement à l'instruction intuitive "if", la syntaxe CASE de MySQL imite une instruction "switch". Il fournit deux formats distincts pour évaluer les conditions et renvoyer les résultats correspondants.

Syntaxe avec les instructions de comparaison :

CASE</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">WHEN user_role = 'Manager' then 4
WHEN user_name = 'Tom' then 27
WHEN columnA <> columnB then 99
ELSE -1 --unknown
Copier après la connexion

END

Ce format vous permet de spécifier plusieurs conditions de comparaison à l'aide de n'importe quelle expression SQL valide. Chaque clause "WHEN" évalue sa condition, et si elle est vraie, son instruction correspondante est exécutée.

Syntaxe à valeur unique :

CASE user_role</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">WHEN 'Manager' then 4
WHEN 'Part Time' then 7
ELSE -1 --unknown
Copier après la connexion

END

Cette forme concise suppose que vous n'examinez qu'une seule valeur et vous permet de spécifier plusieurs conditions « QUAND » directement après l'expression CASE. La clause "ELSE" est facultative et fournit une valeur de repli si aucune des conditions "WHEN" n'est remplie.

Application à votre exemple :

Pour générer un nouveau champ "role_order" basé sur le champ "user_role", vous pouvez utiliser la deuxième syntaxe comme suit :

CASE user_role</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">WHEN 'Manager' then 5
WHEN 'Part Time' then 8
ELSE -1 --unknown
Copier après la connexion

END

Cette expression attribue la valeur 5 à "role_order" lorsque "user_role" est "Manager", 8 lorsque "user_role" est "Part Time", et -1 lorsqu'aucune de ces conditions n'est remplie.

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
Article précédent:Comment convertir en toute sécurité les dates des URL de jj/mm/aaaa en AAAA-MM-JJ en PHP ? Article suivant:Comment sélectionner la première ligne de chaque groupe dans MySQL ?
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
Derniers articles par auteur
Derniers numéros
Rubriques connexes
Plus>
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal