Valutazione condizionale in mySQL
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.
MArco mi fai paura !! Fabi1
Di
Anonimo
(inviato il 23/10/2008 @ 08:42:12)
Disclaimer L'indirizzo IP del mittente viene registrato, in ogni caso si raccomanda la buona educazione.
|