Comparaisons de dates et de DATETIME MySQL
La comparaison de chaînes de type date pose des défis lorsqu'il s'agit de champs stockés sous DATETIME. Considérez le calendrier de la table de base de données, où startTime est un champ DATETIME. La sélection de lignes basées sur une chaîne de date, telle que "2010-04-29", nécessite une manipulation minutieuse pour faire correspondre les valeurs DATETIME en conséquence.
SOLUTION :
Pour y parvenir Pour la comparaison souhaitée, utilisez la fonction DATE() :
SELECT * FROM `calendar` WHERE DATE(startTime) = '2010-04-29'
La fonction DATE() extrait le composant de date d'une valeur DATETIME, supprimant ainsi les informations temporelles. Cela garantit que la chaîne de date que vous avez définie ("2010-04-29") peut être directement comparée à la date extraite du champ startTime DATETIME.
OPTIMISATION DES PERFORMANCES :
La fonction DATE() peut être plus efficace que les approches alternatives pour les grandes tables. Par exemple, la solution SALIL utilisant STRCMP a pris 4,48 secondes pour une table de 2 millions de lignes, tandis que l'approche DATE() s'est terminée en seulement 2,25 secondes. Considérez la fonction DATE() pour des performances optimales dans de tels scénarios.
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!