Документация - ваш друг; Вы должны это прочитать!
Он говорит:
IFNULL(expr1,expr2)
Если expr1
нет NULL
, IFNULL()
возвращается expr1
; в противном случае он возвращается
expr2
.
А потом много примеров. Это эквивалентно использованию тернарного условного оператора со сравнением NULL
и объектом сравнения в качестве второго операнда; что здесь не используются символы, ?
и :
чтобы доставить вас туда, на самом деле не имеет отношения ни к чему.
Итак, в вашем случае:
SELECT IFNULL(`id`, 0) FROM `table`
Если вы отчаялись явно указать три операнда (зачем ?!), переключитесь на IF
:
SELECT IF(`id` IS NULL, 0, `id`) FROM `table`