SELECT CONDIZIONALE IN ORACLE
Oggi mi è capitato di dover estrarre dei dati dal gestioanle aziendale da una tabella con all'interno un indice delle stagionalità dell'articolo. Non avendo una lista di stagioni relative all'indice ho dovuto capire come usare una selec condizionale, ovvero una select che imposta un valore al campo qualora legga un determinato valore da un altro, un po come le istruzioni IF, THEN ed ELSE nei linguaggi di programmazione.
Vediamo come usare la funzione DECODE per eseguire una select condizionale.
Valido per le versioni Oracle:
Oracle 9i, Oracle 10g, Oracle 11g
La sintassi per la funzione DECODE è:
decode( espressione , condizione , risultato [, condizione , risultato]... [, default] )
dove:
espressione è il valore da controllare.
condizione è il valore con cui comparare l'espressione.
risultato è il valore da restituire qualora la condizione si verifichi.
default è un campo opzionale è può essere omesso. Se nessuna condizione è soddisfatta allora la funzione restituisce il valoire di default.
Proviamo ad usare la funzione DECODE in un caso specifico:
Nell'anagrafica articoli ho una voce STAGINALITA'. Tale voce è impostata con la prima lettera di ogni stagione oppure 1 se l'articolo è per la stagione Autunno/Inverno, 2 se la stagione è Primavera/Estate o null se la stagionalità è continuativa, come ad esempio nel caso della biancheria.
Nel nostro caso la query sarà:
SELECT
codice_articolo AS articolo,
decode(
codice_stagione,
'P', 'Primavera',
'E', 'Estate',
'A', 'Autunno',
'I', 'Inverno',
'1', 'Autunno/Inverno',
'2', 'Primavera/Estate',
'Continuativo'
) stagionalità
FROM anagrafica_articoli;
Cos'è un computer?
La mia Opera Prima!
Approfitta ora delle offerte Black Friday/Cyber Monday/Natale per acquistarlo con sconto nei circuiti delle librerie online!
Che cos'è un computer? Scopriamolo insieme facendo quattro chiacchiere tra amici. Qui troverai parole semplici e paragoni efficaci che spiegano ai “non addetti ai lavori” i concetti alla base dell'uso dei computer. Seguimi in questo viaggio dove ti spiegherò cosa c’è “sotto il cofano” in modo che la prossima volta che dovrai scegliere un portatile ed il commesso ti chiederà se vuoi un processore Intel o AMD, se ti bastano 4Gb di RAM o 500Gb di disco, saprai cosa rispondere.
Inizia a leggere le prime pagine, vedi come, con un linguaggio semplice e fludio, spiego i concetti base dell'informatica e del computer! >>LEGGI L'ANTEPRIMA!<<
Formato:11,4x17,2 cm
Foliazione:156
Copertina: morbida
Interno: bn
Supporti disponibili: Cartace/eBook
Scheda del libro
in vendita presso:

Che tradotto con le istruzioni IF-THEN-ELSE è:
IF codice_stagione = "P" THEN
stagionalità := 'Primavera';
ELSIF codice_stagione = "E" THEN
stagionalità := 'Estate';
ELSIF codice_stagione = "A" THEN
stagionalità := 'Autunno';
ELSIF codice_stagione = "I" THEN
stagionalità := 'Inverno';
ELSIF codice_stagione = "1" THEN
stagionalità := 'Autunno/Inverno';
ELSIF codice_stagione = "2" THEN
stagionalità := 'Primavera/Estate';
ELSE
stagionalità := 'Continuativo';
END IF;
La funzione DECODE controllerà il valore di ogni indice stagione, uno ad uno.