Usare la funzione DECODE in Oracle
La funzione DECODE, propria di Oracle, è molto comoda quando vogliamo farci restituire un risultato a seconda che un determinato valore esista o meno.
In sostanza è un pò come dire:
SELEZIONA IL VALORE DALLA TABELLA, E SE ESISTE VISUALIZZALO, E SE NON ESISTE SCRIVI "NON TROVATO"
Una sorta di IF per capirci.
Vediamo un esempio per capire meglio; da una tabella stampiamo i nomi alla ricerca del nome MATTEO:
SELECT DECODE(nome, 'MATTEO', nome, 'NON TROVATO') res FROM utenti;
Quindi, se trova MATTEO lo scrive, altrimenti stampa NON TROVATO.
Ovviamente possiamo espandere questa selezione di valori da cercare.
Prendendo un esempio dalla documentazione ufficiale:
SELECT supplier_name, DECODE(supplier_id, 10000, 'IBM', 10001, 'Microsoft', 10002, 'Hewlett Packard', 'Gateway') res FROM suppliers;
Come vedete, questo fa più test sul campo supplier_id.
La comodità è disarmante.
Enjoy!
database oracle decode
Commentami!