\\ Home Page : Articolo : Stampa
Valutazione condizionale in mySQL
Di Marco Tenuti (del 22/10/2008 @ 22:52:22, in web, linkato 1128 volte)

Oggi non sapevo come fare a fare una valutazione booleana nella generazione del valore di un campo in una SELECT e così ho scoperto che si può fare così:

(CASE WHEN (mytable.myfield = 'VALUE') THEN mytable.anotherfield ELSE 'none' END) AS myEvaluation

Questa sintassi può essere usata sia nel pescare un campo in una SELECT, ma anche nella parte WHERE della medesima SELECT.
In sostanza è la stessa cosa che si fa in Visual Basic 6 col costrutto Iif:

myEvaluation = Iif(mytable.myfield = 'VALUE',mytable.anotherfield,'none')

o in linguaggio C col costrutto expr ? positive : negative:

myEvaluation = strcmp(mytable.myfield,'VALUE') == 0 ? mytable.anotherfield : 'none';

Questa sintassi, mi riferisco al SQL, dovrebbe essere valida sia con mySQL  che con PostgreSQL.