Comprendre MySQL CASE : un guide complet
Lorsque vous travaillez avec des bases de données SQL, il est essentiel de manipuler les données pour en extraire des informations significatives. L'instruction CASE offre un outil puissant pour l'exécution conditionnelle d'instructions SQL, vous permettant d'effectuer des transformations et des évaluations de données complexes.
Dévoilement de la syntaxe CASE
L'instruction SQL CASE suit un format structuré :
CASE WHEN condition1 THEN result1 [WHEN condition2 THEN result2] ... [ELSE default_result] END CASE
Voici comment vous pouvez tirer parti de CASE pour atteindre l'objectif souhaité résultat :
Exemple : attribution d'ordres de rôle
Supposons que vous ayez un champ dans la table user_role contenant des rôles tels que "Manager", "Temps partiel", etc. . Vous souhaitez créer un nouveau champ role_order qui attribue un numéro en fonction du rôle.
Solution utilisant CASE :
CASE WHEN user_role = 'Manager' THEN 5 WHEN user_role = 'Part Time' THEN 3 ELSE -1 -- Handle unknown roles END CASE
Cette instruction CASE fonctionne comme une instruction switch , évaluant la valeur user_role et attribuant le numéro role_order correspondant en fonction de conditions prédéfinies.
Comprendre CASE Mise en œuvre
CASE diffère des déclarations IF en agissant comme une déclaration d'évaluation complète. Il commence par évaluer la première condition WHEN et exécute le résultat correspondant. Si la condition n'est pas remplie, il passe à la condition WHEN suivante jusqu'à ce qu'une condition correspondante soit trouvée. Si aucune condition WHEN ne correspond, la clause ELSE facultative fournit un résultat par défaut.
Syntaxe CASE simplifiée pour l'évaluation de valeurs uniques
Une syntaxe alternative pour CASE est disponible lors de l'évaluation d'un valeur unique :
CASE value WHEN condition1 THEN result1 [WHEN condition2 THEN result2] ... [ELSE default_result] END CASE
Cette syntaxe simplifie l'instruction lors de l'examen d'une valeur spécifique, comme dans l'exemple de vérification du rôle_utilisateur valeur.
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!