Comparaison de dates MySQL avec date_format
MySQL offre des fonctionnalités de comparaison de dates qui vous permettent de filtrer les enregistrements en fonction de contraintes chronologiques. Bien que la présentation des dates dans un format convivial avec des fonctions telles que date_format soit souvent nécessaire, cela peut introduire des complexités lors de l'interrogation de plages de dates.
Un scénario courant implique de comparer des dates qui ont été formatées à l'aide de date_format, qui les transforme en cordes. En comparant des chaînes, vous pouvez involontairement exclure des dates valides en raison de l'ordre alphabétique. Par exemple, lorsque l'on compare la chaîne « 28-10-2012 » avec « 02-11-2012 » dans l'ordre croissant, « 28-10-2012 » sera placé de manière incorrecte après « 02-11-2012 » car le « 2 » dans le composant jour est numériquement supérieur au « 0 » dans l'autre chaîne de date.
Pour résoudre ce problème et garantir des comparaisons de dates précises, il est crucial de comparer les dates en tant que dates. Cela peut être réalisé en utilisant la fonction date, qui extrait le composant date d'un champ DATETIME ou DATE, puis en comparant les valeurs de date résultantes.
La requête révisée ci-dessous montre comment comparer des dates à l'aide de la fonction date :
select date_format(date(starttime),'%d-%m-%Y') from data where date(starttime) >= date '2012-11-02';
Dans cette requête, la fonction date(starttime) extrait le composant date du champ starttime et les valeurs de date résultantes sont comparées à l'aide du >= opérateur. Cela garantit que seules les dates du 02/11/2012 sont récupérées.
En comparant les dates en tant que dates, vous pouvez surmonter les contraintes d'ordre alphabétique associées aux comparaisons de chaînes et vous assurer que les résultats de vos requêtes reflètent vos critères chronologiques prévus.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3