Stai guardando la funzione MySQL IF()
. In sostanza si tratta di un operatore ternario sull'espressione booleana fornito in argomento 1. (Suona dalla tua domanda che hai capito con che COALESCE sta facendo.)
- se Espr1 è TRUE (expr1 <> 0 e expr1 <> NULL) IF() restituisce expr2;
- Se expr1 è FALSE, restituisce expr3.
IF()
restituisce un valore numerico o stringa, a seconda del contesto in cui viene utilizzato.
mysql> SELECT IF(1>2,2,3);
-> 3
mysql> SELECT IF(1<2,'yes','no');
-> 'yes'
mysql> SELECT IF(STRCMP('test','test1'),'no','yes');
-> 'no'
E 'un modo davvero originale non leggibile di non utilizzare a.entity_id IS NULL
.
fonte
2011-08-26 20:14:20
'a.entity_id È NULL o a.entity_id = 0' –