Implications MySQL de faire utc_date + 1 plutôt que d'utiliser date_add (utc_date, intervalle 1 jour)
Question
J'ai quelques questions où les décalages de jour sont codés comme utc_date + 1
plutôt que d'utiliser la fonction date_add
.Y a-t-il des implications de l'utilisation de cette méthode?Je crains que cela ne renvoie le mauvais résultat dans certaines circonstances, en particulier lorsque la date du résultat est reportée à un mois différent
La solution
select utc_date()+1, date('2011-02-28')+1, date_add('2011-02-28', INTERVAL 1 DAY)
En utilisant la requête ci-dessus (sur MySQL 5.0.51a), j'obtiens les résultats suivants:
-
utc_date()+1
= 20110204 -
date('2011-02-28')+1
= 20110229 -
date_add('2011-02-28', INTERVAL 1 DAY)
= 01/03/2011
Il semble donc qu'en ajoutant simplement 1 à la date, mysql traite la valeur de la date comme un entier et non comme une date.Je vous recommande de changer votre code pour utiliser date_add.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow