CASE-Ausdrücke in Oracle werden verwendet, um Bedingungen auszuwerten und Ergebnisse basierend auf verschiedenen Bedingungen zurückzugeben. Die Syntax lautet: CASE WHEN Bedingung THEN Ergebnis ELSE Standardergebnis END. Die Verwendung umfasst: 1. Bedingungen festlegen; 2. Ergebnisse zurückgeben; 3. Standardergebnisse angeben (optional). CASE-Ausdrücke sind lesbar, skalierbar und verbessern die Leistung, aber die Bedingungen müssen sich gegenseitig ausschließen und das Standardergebnis verhindert, dass NULL-Werte zurückgegeben werden.
CASE-Verwendung in Oracle
CASE-Ausdruck ist ein leistungsstarkes Tool in Oracle, um basierend auf gegebenen Bedingungen unterschiedliche Ergebnisse zurückzugeben. Die Syntax lautet wie folgt:
<code class="sql">CASE
WHEN 条件1 THEN 结果1
WHEN 条件2 THEN 结果2
...
ELSE 默认结果
END</code>
Nach dem Login kopieren
Verwendung:
-
Bedingungen festlegen: Geben Sie verschiedene Bedingungen an, die ausgewertet werden müssen. Eine Bedingung kann ein boolescher Ausdruck, ein logischer Ausdruck oder ein Vergleich sein.
-
Ergebnisse zurückgeben: Geben Sie die Ergebnisse an, die für jede Bedingung zurückgegeben werden sollen. Das Ergebnis kann einen beliebigen Datentyp haben, sollte jedoch mit dem Bedingungstyp kompatibel sein.
-
Standardergebnis (optional): Geben Sie das Standardergebnis an, das zurückgegeben wird, wenn keine Bedingungen erfüllt sind.
Beispiel:
Fragen Sie die Mitgliedschaftsstufe des Kunden ab und klassifizieren Sie ihn anhand von Punkten in verschiedene Stufen:
<code class="sql">SELECT CASE
WHEN points < 100 THEN 'Basic'
WHEN points >= 100 AND points < 500 THEN 'Silver'
WHEN points >= 500 THEN 'Gold'
ELSE 'Unknown'
END AS membership_level
FROM customers;</code>
Nach dem Login kopieren
Vorteile:
-
Hohe Lesbarkeit: Der CASE-Ausdruck ist leicht zu lesen und zu verstehen, weil er organisiert Bedingungen und Ergebnisse auf ähnliche Weise wie natürliche Sprache.
-
Erweiterbarkeit: Bedingungen können einfach hinzugefügt oder entfernt werden, um Ausdrücke an sich ändernde Geschäftsanforderungen anzupassen.
-
Verbesserte Leistung: Im Vergleich zur Verwendung mehrerer IF-THEN-ELSE-Anweisungen kann der CASE-Ausdruck die Abfrageleistung verbessern, da er den Ausdruck nur einmal auswertet.
Hinweis:
- Jede Bedingung muss sich gegenseitig ausschließen, d. h. jeder Datensatz kann nur eine Bedingung erfüllen.
- Das Standardergebnis ist optional, verhindert jedoch die Rückgabe von NULL-Werten, wenn sich die Bedingungen nicht gegenseitig ausschließen.
- CASE-Ausdrücke können verschachtelt werden, um komplexere Situationen zu bewältigen.
Das obige ist der detaillierte Inhalt vonFallverwendung in Oracle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!