ho una dichiarazione prescelta in cui voglio fare selezionare condizionale come questomysql IFNULL ELSE
IFNULL(field_a,field_a,feild_b)
in modo che controlli campo un se a è nulla allora la select sarebbe campo b
è che possibile?
ho una dichiarazione prescelta in cui voglio fare selezionare condizionale come questomysql IFNULL ELSE
IFNULL(field_a,field_a,feild_b)
in modo che controlli campo un se a è nulla allora la select sarebbe campo b
è che possibile?
Uso COALESCE:
SELECT COALESCE(field_a, field_b)
COALESCE è una funzione standard ANSI che restituisce il primo valore non nullo dall'elenco di colonne specificato, l'elaborazione le colonne da sinistra a destra. Quindi nell'esempio, se field_a
è nullo, verrà visualizzato il valore field_b
. Tuttavia, questa funzione restituirà NULL se non esiste un valore non nullo dalle colonne specificate.
E 'supportato su MySQL (che ho usato su 4.1), SQL Server (dal V2000), Oracle 9i + ...
Sì, ma è solo due parametri:
IFNULL(field_a,field_b)
Se field_a
non è nullo, verrà restituito. Altrimenti verrà restituito field_b
.
Riferimento: IFNULL
e un altro modo per scuoiare il gatto (flessibile non solo per i confronti nulli) ...
select if(field_a is not null, field_a, field_b) from...
mi supporta l'utilizzo di COALESCE pure. –
Una spiegazione così chiara di come funziona la funzione ... Grazie! Aggiornato il collegamento interrotto. – Andrew