Dieser Leitfaden erklärt:
So verwenden Sie eine einfache Fallanweisung in Oracle?
Einfaches verwenden FALL Aussage in Oracle, a “WENN"Klausel kann für einen Zustand mit einem" verwendet werden "DANNKlausel für eine entsprechende Ausgabe. Die Standardausgabe kann mit der “hinzugefügt werdenANDERS”Klausel. Bei mehreren Bedingungen, mehrfach “WENN" Und "DANNKlauseln können verwendet werden. Gehen wir zur Syntax der Fallerklärung:
FALL
Wenn [Verurteilung] dann [Ergebnis]
Wenn [Zustand] dann [Ergebnis]
…
Wenn [Zustand] dann [Ergebnis]
Sonst [Standard-Result]
ENDE
Beispiel 1: Einfache Fallanweisung
Sehen wir uns ein Beispiel für eine einfache Fallanweisung an, indem wir die "überprüfen"StatusSpalte in der “Aufträge" Tisch:
Wählen Sie Order_id, customer_id, order_date aus,
FALL
Wenn Status = 'versendet' dann ' -> Bestellung versandt'
Wenn Status = 'ausfällt' dann ' -> Bestellung anhängig'
Sonst ' -> Bestellung storniert'
Ende als Status
Aus Bestellungen;
Ausgang
Die Ausgabe zeigt, dass das Ergebnis gemäß der angegebenen Fallerklärung gedruckt wurde.
Beispiel 2: Fallanweisung unter Verwendung der Kurz -Syntax
Eine Fallanweisung kann auch in eine Kurzform -Syntax geschrieben werden, die den Ausdruck nach dem Fallschlüsselwort auslässt und direkt den Spaltennamen E verwendet, e.G., “Status”:
Wählen Sie Order_id, customer_id, order_date aus,
Fallstatus
Wenn 'versandt' dann ' -> Bestellung versandt'
Wenn 'ausstehend' dann ' -> Bestellung anhängig'
Sonst ' -> Bestellung storniert'
Ende als Status
Aus Bestellungen;
Ausgang
Die Ausgabe zeigte das gleiche Ergebnis wie das obige Beispiel.
So verwenden Sie eine Oracle Case -Anweisung in einer WHERE -Klausel?
Der "WODie Klausel wird verwendet, um die Daten zu filtrieren. Die Oracle Case -Anweisung kann in der “verwendet werdenWOKlausel für den bedingten Filter der Daten. Das Beispiel ist unten angegeben:
Wählen Sie Product_id, Warehouse_id, Menge
Aus Inventaren
WO
FALL
Wenn Menge> 200 dann 1
Sonst 0
Ende = 1;
Im obigen Code das “InventareDie Daten der Tabelle werden gemäß der angegebenen Bedingung als gefiltert Menge Wert größer als 200.
Ausgang
Der Ausgang zeigt, dass die Zeilen mit einer Menge von mehr als 200 gedruckt wurden.
So verwenden Sie eine Oracle Case -Anweisung in einer Gesamtfunktion?
Der Aggregatfunktionen werden verwendet, um den Wertesatz zu berechnen und einen einzelnen Wert abzurufen. Die Oracle -Fallanweisung kann in einer Aggregatfunktion verwendet werden, um die bedingte Berechnung auf dem Wertesatz durchzuführen. Das Beispiel ist unten angegeben:
Wählen Sie Order_id, item_id, product_id, unit_price aus,
Summe (Fall
Wenn Unit_price> = 470 dann Menge
Sonst 0
Ende) als Menge
Von order_items
Gruppe nach Order_id, item_id, product_id, unit_price;
Im obigen Beispiel wurde die Bedingung auf die “angewendet“EINZELPREIS"Spalte der"AUFTRAGSPOSITIONEN" Tisch.
Ausgang
Die Ausgabe zeigt, dass wenn die EINZELPREIS Wert war größer als 470 dann der Wert von Menge Es wurde gezeigt, dass es ansonsten gezeigt wurde null (0).
Abschluss
Die Oracle Case -Anweisung wird verwendet, um mehrere Bedingungen zusammen mit ihrer jeweiligen Ausführung zu definieren. Wenn eine Bedingung wahr ist, werden die mit dieser Bedingung verbundenen Aussagen ausgeführt. Andernfalls wird der Standardblock ausgeführt. Es kann auch in der “verwendet werdenWOKlausel, um die Daten sowie in den aggregierten Funktionen bedingt zu filtern, um bedingte Berechnungen für den Wert von Werten durchzuführen. Der Leitfaden hat eine detaillierte Erklärung mit Beispielen für die Verwendung der Oracle -Fallanweisungen geliefert.