Maison > base de données > tutoriel mysql > Comment extraire efficacement les dates des colonnes DateTime dans MySQL ?

Comment extraire efficacement les dates des colonnes DateTime dans MySQL ?

Mary-Kate Olsen
Libérer: 2024-12-02 17:33:10
original
817 Les gens l'ont consulté

How to Efficiently Extract Dates from DateTime Columns in MySQL?

Sélectionner efficacement des dates à partir des colonnes Datetime

Lorsque vous travaillez avec des types de données datetime, il peut souvent être nécessaire d'extraire des composants spécifiques, tels que des dates ou des heures. Cet article aborde le défi de la récupération des dates à partir des colonnes datetime dans MySQL.

Le problème

Une requête courante consiste à filtrer les lignes en fonction d'une date spécifique, comme dans l'exemple suivant :

SELECT * FROM data
WHERE datetime = '2009-10-20'
ORDER BY datetime DESC;
Copier après la connexion

Cependant, la solution fournie consistant à utiliser une clause BETWEEN pour définir une plage de dates du 20/10/2009 00:00:00' à '2009-10-20 23:59:59' renvoie un ensemble de résultats vide.

La solution

Pour extraire efficacement les dates, MySQL fournit le DATE() fonction, qui renvoie le composant date d’une valeur datetime. L'utilisation de DATE() dans la clause WHERE permet une comparaison directe avec un littéral de date :

SELECT * FROM data
WHERE DATE(datetime) = '2009-10-20'
ORDER BY datetime DESC;
Copier après la connexion

Une approche alternative qui peut parfois améliorer les performances consiste à utiliser l'opérateur LIKE avec un suffixe générique :

SELECT * FROM data
WHERE datetime LIKE '2009-10-20%'
Copier après la connexion

Cependant, il est crucial de noter que les comparaisons LIKE peuvent avoir des implications sur les performances, comme indiqué dans d'autres fils de discussion Stack Exchange.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal