Maison > base de données > tutoriel mysql > Comment l'expression SQL CASE fonctionne-t-elle sur différents systèmes de bases de données ?

Comment l'expression SQL CASE fonctionne-t-elle sur différents systèmes de bases de données ?

DDD
Libérer: 2025-01-11 06:45:41
original
379 Les gens l'ont consulté

How Does the SQL CASE Expression Work Across Different Database Systems?

Syntaxe complète de l'expression SQL CASE

Les expressions SQL CASE sont conçues pour gérer des requêtes complexes, vous permettant d'évaluer plusieurs conditions et de renvoyer des valeurs spécifiques en fonction des conditions remplies. Sa syntaxe varie selon les différents moteurs de base de données.

SQL Serveur

La syntaxe générale de l'expression CASE de SQL Server est la suivante :

CASE case-expression
    WHEN when-expression-1 THEN value-1
  [ WHEN when-expression-n THEN value-n ... ]
  [ ELSE else-value ]
END
Copier après la connexion

Oracle

La syntaxe des expressions CASE d'Oracle adopte une approche légèrement différente :

CASE
    WHEN boolean-when-expression-1 THEN value-1
  [ WHEN boolean-when-expression-n THEN value-n ... ]
  [ ELSE else-value ]
END
Copier après la connexion

Composants de l'expression CASE

  • case-expression : La valeur à évaluer par rapport aux expressions quand.
  • when-expression : Une expression à comparer avec case-expression.
  • valeur : Le résultat d'une instruction CASE si l'expression quand correspondante correspond à l'expression cas.
  • boolean-when-expression : Une expression booléenne qui détermine s'il faut renvoyer la valeur correspondante.
  • else-value : La valeur renvoyée si aucune expression quand ne correspond à l'expression cas.

Sémantique d'exécution

L'expression CASE évalue chaque expression quand de manière séquentielle. Lorsqu'une correspondance est trouvée, la valeur correspondante est renvoyée. Si aucune correspondance n'est trouvée, renvoie la valeur else s'il y en a une. Notez que l'ordre des expressions quand est important car la première expression correspondante est prioritaire.

Exemple

Considérez la requête suivante :

SELECT CASE student_age
    WHEN 18 THEN 'Teenager'
    WHEN 21 THEN 'Adult'
    ELSE 'Minor'
END AS age_category
FROM students;
Copier après la connexion

Cette requête attribue une catégorie d'âge à l'étudiant en fonction de son âge, "Adolescent" s'il a 18 ans, "Adulte" s'il a 21 ans, ou "Mineur" s'il a moins de 18 ans ou qu'aucune correspondance n'est trouvée.

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 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