Questo sito utilizza i cookie tecnici di Joomla per la gestione della sessione dell'utente.

Il proseguimento nella navigazione implica un tacito assenso all'utilizzo dei cookies.

Se non sei d'accordo sull'utilizzo, ti invito ad allontanarti da questo sito. 

 

Direttiva Europea per la regolamentazione della Privacy.

Portale LA TUA SCELTA , la guida sulla pubblicità comportamentale e sulla gestione della privacy.

SELECT CONDIZIONALE IN ORACLE

Valutazione attuale: 5 / 5

Stella attivaStella attivaStella attivaStella attivaStella attiva
 

e49eb4ac5872125d4a82b76eb2a25963.pngOggi 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!<<

ISBN Libro: 9788892392076 
Formato:11,4x17,2 cm 
Foliazione:156 
Copertina: morbida 
Interno: bn 
Supporti disponibili: Cartace/eBook
Scheda del libro

in vendita presso:

IlMioLibro

Amazon

La Feltrinelli

IBS

Che cos'è un computer?



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.