Usare la funzione DECODE in Oracle

Mattepuffo's logo
Usare la funzione DECODE in Oracle

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!


Condividi

Commentami!