Bonjour,

J'ai une table avec une clef primaire INT en auto_increment et puis 5 autres champs dont un en DATETIME et les autres en varchar.

Je cherche à regarder si il existe un enregistrement identique (sauf la clef primaire)

Le truc c'est que mes champs peuvent etres null.
on va dire que mon champ date s'appelle champ1

Je fais cette requete a l'interieur d'une proc stockée et j'ai essayé un truc du style

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SELECT COUNT(*)
FROM matable
WHERE IFNULL(champ1,'{NULL}')=IFNULL(ma_variable_date,'{NULL}') AND IFNULL(champ2,'{NULL}')=IFNULL(var_2,'{NULL}') .....
Le truc c'est que si je fais cette requete uniquement sur les champs de type varchar ça fonctionne. Mais avec la date, l'égalité n'a pas l'air de passer.

J'ai aussi essayé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
IFNULL(champ1,'{NULL}')<=>IFNULL(ma_variable_date,'{NULL}')
mais la non plus l'egalite ne passe pas.

auriez vous une idée de ce que je fais de travers ?