Dokumentasinya adalah teman Anda; kamu harus membacanya!
Ia mengatakan:
IFNULL(expr1,expr2)
Jika expr1
tidak NULL
, IFNULL()
kembalikan expr1
; jika tidak, ia akan kembali
expr2
.
Dan banyak contoh. Ini sama dengan menggunakan kondisional terner dengan perbandingan NULL
dan 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`