Bonjour,
J'ai un soucis sur des comparaisons de dates MySQL.
J'ai une table avec un champ 'datemaj' de type date renseigné avec le format suivant: YYYYMMDD (ou NULL)
Le but est de récupérer tous les tuples ayant des dates de MAJ différentes de '20121213' et différente de NULL.
J'exécute donc la requête suivante:
Le problème c'est que cette requête me ramène également les enregistrement avec une date de MAJ au 20121213
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT * FROM nomtable WHERE IFNULL(datemaj,'')<>'20121213'
Si j'exécute la requête suivante:
Cela fonctionne bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT * FROM nomtable WHERE IFNULL(datemaj,'')<>CURDATE() //CURDATE()='20121213'
Je ne vois pas pourquoi la 1ère requête ne fonctionne pas et que la 2e fonctionne. Sachant que quand je fais un SELECT CURDATE(), le SGBD me renvoie bien la date du jour au format 'YYYYMMDD'.
Partager