"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Lors de la comparaison de dates avec date_format dans MySQL, comment garantir des résultats précis ?

Lors de la comparaison de dates avec date_format dans MySQL, comment garantir des résultats précis ?

Publié le 2024-11-12
Parcourir:135

When Comparing Dates with date_format in MySQL, How to Ensure Accurate Results?

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.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729740056. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

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