Dokumentasinya adalah teman Anda; kamu harus membacanya!
Ia mengatakan:
IFNULL(expr1,expr2)
Jika expr1tidak NULL, IFNULL()kembalikan expr1; jika tidak, ia akan kembali
expr2.
Dan banyak contoh. Ini sama dengan menggunakan kondisional terner dengan perbandingan NULLdan subjek pembanding sebagai operan kedua; bahwa tidak kebetulan menggunakan simbol-simbol itu ?dan :untuk membawa Anda ke sana tidak benar-benar relevan dengan apa pun.
Jadi, dalam kasus Anda:
SELECT IFNULL(`id`, 0) FROM `table`
Jika Anda sangat ingin memberikan tiga operan secara eksplisit (mengapa ?!), maka beralihlah ke IF:
SELECT IF(`id` IS NULL, 0, `id`) FROM `table`