La documentation est votre ami; vous devriez le lire!
Ça dit:
IFNULL(expr1,expr2)
Si ce expr1
n'est pas le cas NULL
, IFNULL()
retourne expr1
; sinon, il revient
expr2
.
Et puis plein d'exemples. Cela équivaut à utiliser un conditionnel ternaire avec une comparaison à NULL
et le sujet de comparaison comme deuxième opérande; qu'il n'arrive pas à utiliser les symboles ?
et :
à vous y amener n'est vraiment pertinent pour rien.
Donc, dans votre cas:
SELECT IFNULL(`id`, 0) FROM `table`
Si vous êtes désespéré de fournir trois opérandes explicitement (pourquoi?!), Passez à IF
:
SELECT IF(`id` IS NULL, 0, `id`) FROM `table`