logo

MySQL CASE-Ausdruck

Der MySQL-CASE-Ausdruck ist Teil der Kontrollflussfunktion, mit der wir einen schreiben können wenn-sonst oder wenn-dann-sonst Logik zu einer Abfrage. Dieser Ausdruck kann überall dort verwendet werden, wo ein gültiges Programm oder eine gültige Abfrage verwendet wird, z. B. in der Klausel SELECT, WHERE, ORDER BY usw.

Der CASE-Ausdruck validiert verschiedene Bedingungen und gibt das Ergebnis zurück, wenn die erste Bedingung erfüllt ist WAHR . Sobald die Bedingung erfüllt ist, wird die Traversierung gestoppt und die Ausgabe ausgegeben. Wenn keine erfüllte Bedingung gefunden wird, wird Folgendes ausgeführt sonst blockieren . Wenn der else-Block nicht gefunden wird, wird a zurückgegeben NULL Wert. Das Hauptziel von MySQL Die CASE-Anweisung dient dazu, mehrere IF-Anweisungen in der SELECT-Klausel zu verarbeiten.

Wir können die CASE-Anweisung auf zwei Arten verwenden:

1. Einfache CASE-Anweisung:

Die erste Methode besteht darin, einen Wert zu nehmen und ihn mit der gegebenen Anweisung abzugleichen, wie unten gezeigt.

Java-Punkt

Syntax

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

Es gibt das Ergebnis zurück, wenn das erste vergleichen_wert Vergleich wird wahr. Andernfalls wird die else-Klausel zurückgegeben.

Beispiel

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

Ausgabe

Nach erfolgreicher Ausführung des obigen Befehls sehen wir die folgende Ausgabe.

MySQL CASE-Ausdruck

2. Gesuchte CASE-Anweisung:

Die zweite Methode besteht darin, a zu betrachten Suchbedingung im WANN Klauseln, und wenn es sie findet, wird das Ergebnis in der entsprechenden THEN-Klausel zurückgegeben. Andernfalls wird die else-Klausel zurückgegeben. Wenn die else-Klausel nicht angegeben ist, wird ein NULL-Wert zurückgegeben.

Syntax

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

Beispiel

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

Ausgabe

MySQL CASE-Ausdruck

Rückgabetyp

Der CASE-Ausdruck gibt das Ergebnis abhängig vom Kontext zurück, in dem er verwendet wird. Zum Beispiel:

  • Wenn es im String-Kontext verwendet wird, gibt es das String-Ergebnis zurück.
  • Wenn es in einem numerischen Kontext verwendet wird, gibt es den Ganzzahl-, Gleitkomma- und Dezimalwert zurück.

Unterstützung der MySQL-Version

Die CASE-Anweisung kann die folgenden MySQL-Versionen unterstützen:

Java-Wert der Zeichenfolge
  • 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

Lass uns eine Tabelle erstellen ' Studenten ' und führen Sie die CASE-Anweisung für diese Tabelle aus.

MySQL CASE-Ausdruck

In der obigen Tabelle können wir sehen, dass die Klassenspalte enthält die Kurzform des Fachbereichs des Studierenden. Deshalb werden wir die Kurzform der Abteilung durch die Vollform ersetzen. Führen Sie nun die folgende Abfrage aus, um diesen Vorgang auszuführen.

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

Nach erfolgreicher Ausführung der obigen Abfrage erhalten wir die folgende Ausgabe. Hier können wir sehen, dass die Abteilung Die Spalte enthält das vollständige Formular anstelle eines Kurzformulars.

MySQL CASE-Ausdruck