Questa guida spiegherà:
Come utilizzare una semplice dichiarazione di case in Oracle?
Per usare un semplice CASO dichiarazione in Oracle, a "QUANDO"La clausola può essere utilizzata per una condizione con un"POI"Clausola per un output corrispondente. L'output predefinito può essere aggiunto utilizzando "ALTRO"Clausola. Nel caso di più condizioni, multipli "QUANDO" E "POI"Le clausole possono essere utilizzate. Passiamo alla sintassi dell'istruzione del caso:
CASO
Quando [condanna] allora [risultato]
Quando [condizione] quindi [risultato]
..
Quando [condizione] quindi [risultato]
Else [default-result]
FINE
Esempio 1: Dichiarazione del caso semplice
Vediamo un esempio di una semplice dichiarazione del caso controllando il "statoColonna "nella"ordini" tavolo:
Seleziona ordine_id, customer_id, ordine_date,
CASO
Quando status = 'spedito' quindi ' -> ordina spedito'
Quando status = 'in sospeso' allora ' -> ordine in sospeso'
Else ' -> ordine cancellato'
Termina come stato
Dagli ordini;
Produzione
L'output descrive che il risultato è stato stampato secondo la dichiarazione del caso fornita.
Esempio 2: Dichiarazione del caso usando la sintassi stenografia
Una dichiarazione del caso può essere scritta anche in sintassi stenografia che omette l'espressione dopo la parola chiave del caso e utilizza direttamente il nome della colonna, E.G., "stato":
Seleziona ordine_id, customer_id, ordine_date,
Stato del caso
Quando "spedito" allora " -> ordina spedito"
Quando "in sospeso" allora " -> ordina in sospeso"
Else ' -> ordine cancellato'
Termina come stato
Dagli ordini;
Produzione
L'output ha visualizzato lo stesso risultato dell'esempio sopra.
Come utilizzare un'istruzione Case Oracle in una clausola dove?
IL "DOVE"La clausola viene utilizzata per filtrare i dati. L'istruzione Case Oracle può essere utilizzata nel "DOVE"Clausola per il filtro condizionale dei dati. L'esempio è riportato di seguito:
Seleziona Product_id, Warehouse_id, quantità
Dagli inventari
DOVE
CASO
Quando quantità> 200 allora 1
Altrimenti 0
Fine = 1;
Nel codice sopra, il "Inventari"I dati della tabella vengono filtrati in base alla condizione specificata come quantità valore maggiore di 200.
Produzione
L'output descrive che le righe con una quantità maggiore di 200 sono state stampate.
Come utilizzare un'istruzione Oracle Case in una funzione aggregata?
IL funzioni aggregate vengono utilizzati per calcolare l'insieme di valori e recuperare un singolo valore. L'istruzione del caso Oracle può essere utilizzata in una funzione aggregata per eseguire il calcolo condizionale sull'insieme dei valori. L'esempio è riportato di seguito:
Seleziona order_id, item_id, Product_id, Unit_price,
Somma (caso
Quando unità_price> = 470 quindi la quantità
Altrimenti 0
Fine) come quantità
Da order_items
Gruppo di Order_id, Item_id, Product_id, Unit_Price;
Nell'esempio sopra, la condizione è stata applicata sul "PREZZO UNITARIOColonna "di"Order_items" tavolo.
Produzione
L'output lo descrive se il PREZZO UNITARIO il valore è stato maggiore di 470 quindi il valore di quantità è stato dimostrato altrimenti ha mostrato zero (0).
Conclusione
L'istruzione Case Oracle viene utilizzata per definire più condizioni insieme alla loro particolare affermazione da eseguire. Quando una condizione è vera, le dichiarazioni associate a tale condizione verranno eseguite, altrimenti il blocco predefinito verrà eseguito. Può anche essere usato in "DOVE"Clausola per filtrare condizionalmente i dati e nelle funzioni aggregate per eseguire calcoli condizionali sull'insieme dei valori. La guida ha fornito una spiegazione dettagliata con esempi di come utilizzare le dichiarazioni del caso Oracle.