Maison  >  Article  >  base de données  >  Lorsque vous comparez des dates avec DATE_FORMAT de MySQL, pourquoi l'utilisation du même format est-elle cruciale ?

Lorsque vous comparez des dates avec DATE_FORMAT de MySQL, pourquoi l'utilisation du même format est-elle cruciale ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-24 14:07:30233parcourir

When Comparing Dates with MySQL's DATE_FORMAT, Why Is Using the Same Format Crucial?

Comparaison de dates avec MySQL DATE_FORMAT

Lorsque vous comparez des dates à l'aide de la fonction DATE_FORMAT de MySQL, il est crucial de comprendre que le format que vous choisissez affecte le résultat de la comparaison. .

Dans l'exemple donné, le tableau contient des dates au format « %d-%m-%Y » et la requête tente de les comparer en utilisant le même format. Cependant, cela conduit à des résultats incorrects, car « 28-10-2012 » est lexicographiquement supérieur à « 02-11-2012 ».

Pour résoudre ce problème, il est recommandé de comparer les dates sous forme de dates plutôt que de chaînes. La requête correcte doit être :

<code class="mysql">select date_format(date(starttime),'%d-%m-%Y') from data
where date(starttime) >= date '2012-11-02';</code>

Ici, la fonction date() extrait le composant date du champ heure de début, tandis que la date '2012-11-02' spécifie la date de comparaison en année-mois-valeur formulaire. Cela garantit que la comparaison est effectuée correctement en tant que dates.

Si starttime est un champ DATETIME, pensez à utiliser la requête suivante pour éviter une conversion répétée :

<code class="mysql">select date_format(date(starttime),'%d-%m-%Y') from data
where starttime >= '2012-11-02 00:00:00';</code>

En général, il est conseillé d'utiliser la norme ISO-8601 pour le formatage de la date, telle que y-M-d. Cependant, les requêtes ci-dessus montrent comment effectuer des comparaisons de dates en utilisant le format fourni.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn