Questo post mira a mostrarti come utilizzare la funzione decode () nelle query Oracle. La funzione decode () consente di introdurre la logica If-then-else incorporata in una query Oracle.
Sintassi della funzione, parametri e valore di restituzione
Il seguente frammento di codice indica la funzione della funzione decode () in Oracle:
Decodifica (espressione, ricerca, risultato [, ricerca, risultato] ... [, default]);Dove:
Esempio di utilizzo della funzione
L'esempio seguente mostra un utilizzo della funzione di base sulla funzione decode ():
Seleziona decodifica (10, 10, 'true') da Dual;La funzione esegue un controllo condizionale come mostrato di seguito:
Se 10 = 10 alloraQuesto dovrebbe restituire vero come mostrato nel seguente:
Decodifica (10,10, 'vero') |Se la condizione è falsa, la funzione restituisce null come mostrato nel seguente:
Seleziona decodifica (10, 11, 'true') da Dual;Poiché la condizione è falsa, la funzione restituisce null in questo caso.
Possiamo includere un valore di reso se la condizione è falsa come mostrato nel seguente:
Seleziona decodifica (10, 11, "true", "false") da Dual;Questo dovrebbe tornare come segue:
Decodifica (10,11, "vero", "falso") |Possiamo anche confrontare il primo argomento con un elenco di argomenti come mostrato nel seguente:
Seleziona decodifica (1, 2, "uno", 1, "uno") da Dual;In questo caso, la funzione confronta il primo argomento, con il valore di 1, con il secondo argomento. Se è uguale, la funzione restituisce il terzo argomento. Altrimenti, confronta il valore con il quarto argomento e restituisce il quinto argomento come vero.
Risultato:
Decodifica (1,2, "uno", 1, "uno") |Possiamo anche definire un valore di reso se non viene trovata alcuna corrispondenza.
Seleziona decodifica (5, 2, "uno", 1, "uno", "il valore non deve essere né 1 o 2 ') dal doppio;Risultato di esempio:
Decodifica (5,2, "uno", 1, "uno")Il valore non deve essere né 1 O 2 |
Conclusione
Questo post ha coperto le basi del lavoro con la funzione di decode () di Oracle per gestire istruzioni IF-Else più complesse nelle tabelle Oracle.