Einfache CASE WHEN-Funktion:FALL-ERGEBNIS WENN 'A' DANN 'Ausgezeichnet' SONST 'Nicht bestanden' ENDE FALL-ERGEBNIS WENN 'B' DANN 'Gut' SONST 'Nicht bestanden' ENDE FALL-ERGEBNIS WENN 'C' DANN 'Mittel' SONST 'Fehlgeschlagen' ENDE Dies entspricht der Verwendung der bedingten Ausdrucksfunktion CASE WHEN:Fall: Wenn Punktzahl = „A“, dann „Ausgezeichnet“ WENN ERGEBNIS = ‚B‘, DANN ‚Gut‘ WENN ERGEBNIS = 'C' DANN 'Mittel' SONST 'Nicht bestanden' ENDE Der Wert nach THEN sollte vom gleichen Typ sein wie der Wert nach ELSE, andernfalls wird ein Fehler gemeldet. wie folgt:Fallergebnis: Wenn „A“ ist, dann „Ausgezeichnet“, sonst 0. Ende Wenn die Datentypen „Ausgezeichnet“ und 0 inkonsistent sind, wird ein Fehler gemeldet: [Err] ORA-00932: inkonsistente Datentypen: CHAR erwartet, NUMBER erhalten Die einfache CASE WHEN-Funktion kann nur einige einfache Geschäftsszenarien verarbeiten, während die Schreibregeln des bedingten CASE WHEN-Ausdrucks flexibler sind. CASE WHEN-Funktion für bedingte Ausdrücke: ähnlich der IF ELSE-Anweisung in JAVA. Format: FALL, WENN Bedingung, DANN Ergebnis [WANN...DANN...] ELSE Ergebnis ENDE Bedingung ist ein Ausdruck, der einen Booleschen Typ zurückgibt. Wenn der Ausdruck „true“ zurückgibt, gibt die gesamte Funktion den Wert des entsprechenden Ergebnisses zurück. Wenn alle Ausdrücke „false“ sind, wird der Wert des Ergebnisses nach ElSE zurückgegeben. Wenn die ELSE-Klausel weggelassen wird, wird NULL zurückgegeben. Im Folgenden sind einige häufige Szenarien aufgeführt.
WÄHLEN STUDENTENNAME, (FALL, WENN Punktzahl < 60, DANN „nicht bestanden“ WENN Punktzahl >= 60 UND Punktzahl < 80, DANN „bestanden“ WENN Punktzahl >= 80, DANN „Ausgezeichnet“ ELSE 'Ausnahme' END) AS REMARK AUS TISCH Hinweis : Wenn Sie prüfen möchten, ob die Punktzahl null ist, ist dies eine falsche Schreibweise. WENN Punktzahl = null, DANN „nicht bei der Prüfung anwesend“. Die korrekte Schreibweise lautet: CASE WHEN score IS NULL THEN 'Nicht bei der Prüfung anwesend' ELSE 'Normal' END
Die Tabellenstruktur ist wie folgt: Im Feld STU_SEX steht 0 für einen Jungen und 1 für ein Mädchen.
WÄHLEN SUMME (FALL, WENN STU_SEX = 0, DANN 1, SONST 0, ENDE) ALS MALE_COUNT, SUMME (FALL, WENN STU_SEX = 1, DANN 1, SONST 0, ENDE) ALS FEMALE_COUNT, SUMME (FALL, WENN STU_SCORE >= 60 UND STU_SEX = 0, DANN 1, SONST 0, ENDE) ALS MALE_PASS, SUMME (FALL, WENN STU_SCORE >= 60 UND STU_SEX = 1, DANN 1, SONST 0, ENDE) ALS FEMALE_PASS AUS THTF_STUDENTEN Die Ausgabe lautet wie folgt:
Die Energieverbrauchstabelle sieht wie folgt aus: E_TYPE steht für den Energieverbrauchstyp, 0 steht für den Wasserverbrauch, 1 steht für den Stromverbrauch und 2 steht für den Wärmeverbrauch
WÄHLEN E_CODE, SUM(CASE WHEN E_TYPE = 0 THEN E_VALUE ELSE 0 END) AS WATER_ENERGY,--Wasserverbrauch SUM(CASE WHEN E_TYPE = 1 THEN E_VALUE ELSE 0 END) AS ELE_ENERGY,--Stromverbrauch SUM(CASE WHEN E_TYPE = 2 THEN E_VALUE ELSE 0 END) AS HEAT_ENERGY--Wärmeverbrauch FROM THTF_ENERGY_TEST GRUPPELN NACH E_CODE Die Ausgabe ist wie folgt :
Die Preisliste lautet wie folgt:
Wenn der Energieverbrauchswert kleiner als 10 ist, wird der P_PRICE-Wert bei P_LEVEL=0 verwendet. Wenn der Energieverbrauchswert größer als 10 und kleiner als 30 ist, wird der P_PRICE-Wert bei P_LEVEL=1 verwendet. FALL, WENN Energie <= (WÄHLEN SIE P_LIMIT AUS TABELLENPREIS, WO P_LEVEL = 0) DANN (WÄHLEN SIE P_PRICE AUS TABELLENPREIS, WO P_LEVEL = 0) WENN Energie > (SELECT P_LIMIT FROM TABLE_PRICE WHERE P_LEVEL = 0) UND Energie <= (SELECT P_LIMIT FROM TABLE_PRICE WHERE P_LEVEL = 1) DANN (SELECT P_PRICE FROM TABLE_PRICE WHERE P_LEVEL = 1) WENN Energie > (SELECT P_LIMIT FROM TABLE_PRICE WHERE P_LEVEL = 1) UND Energie <= (SELECT P_LIMIT FROM TABLE_PRICE WHERE P_LEVEL = 2) DANN (SELECT P_PRICE FROM TABLE_PRICE WHERE P_LEVEL = 2)
Die CASE WHEN-Funktion ist einfach zu verwenden und leicht zu verstehen. Dieser Artikel gibt nur eine kurze Einführung in ihre Verwendung. In der tatsächlichen Arbeit muss sie je nach unterschiedlichen Geschäftsszenarien flexibel eingesetzt werden. ZusammenfassenDieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalten auf 123WORDPRESS.COM mehr Aufmerksamkeit schenken können! Das könnte Sie auch interessieren:
|
<<: Zusammenfassung der Dinge, auf die Sie in der Fußzeile einer Webseite achten sollten
>>: CSS zum Erzielen des Skeleton Screen-Effekts
Dieser Artikel beschreibt, wie mysql5.6 mithilfe ...
Was ist Vite? (Es ist ein neues Spielzeug im Fron...
Skriptanforderungen: Sichern Sie die MySQL-Datenb...
Busybox: Ein Schweizer Taschenmesser voller klein...
Es gibt zwei Möglichkeiten: 1. Servicemethode Übe...
Sie erinnern sich vielleicht, dass wir in den ver...
1. Bereiten Sie eine neue Festplatte vor und form...
Kürzlich wurde auf Unternehmensseite gemeldet, da...
1. löschen delete ist die einzige wirkliche Mögli...
Inhaltsverzeichnis Vorwort 1. Was sind Mixins? 2....
Als ich kürzlich MySQL in Docker installierte, st...
Ich habe gesehen, dass die Taobao-Webseite Import ...
Der zu erzielende Effekt In vielen Fällen überwac...
Verwendung der AES-Verschlüsselung Verschlüsselun...
Hintergrund Wie wir alle wissen, ist Nginx ein Ho...