logo

Expression CASE MySQL

L'expression MySQL CASE fait partie de la fonction de flux de contrôle qui nous permet d'écrire un si-sinon ou si-alors-sinon logique à une requête. Cette expression peut être utilisée n'importe où qui utilise un programme ou une requête valide, telle que la clause SELECT, WHERE, ORDER BY, etc.

L'expression CASE valide diverses conditions et renvoie le résultat lorsque la première condition est vrai . Une fois la condition remplie, il arrête le parcours et donne la sortie. S'il ne trouve aucune condition vraie, il exécute la sinon bloquer . Lorsque le bloc else n'est pas trouvé, il renvoie un NUL valeur. L'objectif principal de MySQL L'instruction CASE doit traiter plusieurs instructions IF dans la clause SELECT.

Nous pouvons utiliser l'instruction CASE de deux manières, qui sont les suivantes :

1. Instruction CASE simple :

La première méthode consiste à prendre une valeur et à la faire correspondre à l'instruction donnée, comme indiqué ci-dessous.

cadre de printemps

Syntaxe

 CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END 

Il renvoie le résultat lorsque le premier comparer_value la comparaison devient vraie. Sinon, il renverra la clause else.

Exemple

 mysql> SELECT CASE 1 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END; 

Sortir

Après l'exécution réussie de la commande ci-dessus, nous verrons le résultat suivant.

Expression CASE MySQL

2. Instruction CASE recherchée :

La deuxième méthode consiste à considérer un condition_de recherche dans le QUAND clauses, et s’il le trouve, renvoie le résultat dans la clause THEN correspondante. Sinon, il renverra la clause else. Si la clause else n'est pas spécifiée, elle renverra une valeur NULL.

Syntaxe

 CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END 

Exemple

 mysql> SELECT CASE BINARY 'B' WHEN 'a' THEN 1 WHEN 'b' THEN 2 END; 

Sortir

Expression CASE MySQL

Type de retour

L'expression CASE renvoie le résultat en fonction du contexte dans lequel elle est utilisée. Par exemple:

  • S'il est utilisé dans le contexte d'une chaîne, il renvoie le résultat de la chaîne.
  • S'il est utilisé dans un contexte numérique, il renvoie la valeur entière, flottante et décimale.

Prise en charge des versions MySQL

L'instruction CASE peut prendre en charge les versions MySQL suivantes :

  • MySQL 8.0
  • MySQL 5.7
  • MySQL 5.6
  • MySQL 5.5
  • MySQL 5.1
  • MySQL 5.0
  • MySQL 4.1
  • MySQL 4.0
  • MySQL 3.23.3

Créons un tableau ' étudiants ' et exécutez l'instruction CASE sur cette table.

Expression CASE MySQL

exemple de sous-chaîne Java

Dans le tableau ci-dessus, nous pouvons voir que colonne de classe contient la forme abrégée du département de l'étudiant. C'est pourquoi nous allons remplacer la forme abrégée du département par la forme complète. Maintenant, exécutez la requête suivante pour effectuer cette opération.

 SELECT studentid, firstname, CASE class WHEN 'CS' THEN 'Computer Science' WHEN 'EC' THEN 'Electronics and Communication' ELSE 'Electrical Engineering' END AS department from students; 

Après l’exécution réussie de la requête ci-dessus, nous obtiendrons le résultat suivant. Ici, nous pouvons voir que le département La colonne contient une forme complète au lieu d'une forme courte.

Expression CASE MySQL