La documentazione è tua amica; dovresti leggerlo!
Dice:
IFNULL(expr1,expr2)
Se expr1
non lo è NULL
, IFNULL()
restituisce expr1
; altrimenti ritorna
expr2
.
E poi tanti esempi. Ciò equivale a utilizzare un condizionale ternario con un confronto NULL
e l'oggetto di confronto come secondo operando; che non ti capiti di usare i simboli ?
e :
di portarti lì non è realmente rilevante per nulla.
Quindi, nel tuo caso:
SELECT IFNULL(`id`, 0) FROM `table`
Se desideri disperatamente fornire tre operandi esplicitamente (perché ?!), passa a IF
:
SELECT IF(`id` IS NULL, 0, `id`) FROM `table`