Fonction de date Mysql ne fonctionne pas pour moins de
J'ai besoin d'obtenir tous les dossiers de ceux de l'égalité et moins de 2012-12-28 j'ai utilisé soufflet de requête pour cela,
booking_time est de type DATETIME champ, et il y a les dossiers de moins de 2012-12-28 mais il ne retourne aucune ligne.
personne n'a d'idée ?
SELECT * FROM ctx_bookings WHERE DATE(booking_time)<=2012-12-28 ORDER BY id ASC
Table déposé
+---------------------+
| booking_time |
+---------------------+
| 2012-12-20 03:10:09 |
| 2012-12-25 02:10:04 |
+---------------------+
Plaire à tout le monde de savoir pourquoi cela se produit ?
source d'informationauteur Gihan Dilusha
Vous devez vous connecter pour publier un commentaire.
placer la valeur avec une seule citation et ça sera sûrement travail
Comme indiqué sous La Date et l'Heure Littéraux:
Comme @Barmar commentévotre expression littérale
2012-12-28
est évalué comme l'arithmétique(2012 - 12) - 28
ce qui équivaut à 1,978.Par @JW.'s réponsevous pouvez citer cette expression pour obtenir une date valide littéral (de la première forme, ci-dessus). Sinon:
tout en citant le littéral, vous pourriez utiliser tout autre caractère de ponctuation (ou même pas de personnage) comme séparateur entre la date de pièces:
vous pourriez enlever les séparateurs et laissez votre littérale non cotées:
Remarque également que l'utilisation d'un critère de filtre de ce genre, qui utilise une fonction (dans ce cas, le
DATE()
fonction) sur une colonne, nécessite une analyse de la table afin d'évaluer la fonction—par conséquent, elle ne bénéficiera d'aucun index. Plus sargable alternative serait de filtrer de façon plus explicite dans la gamme de valeurs de la colonne (c'est à dire fois) qui répondent à vos critères:C'est l'équivalent parce que chaque fois que tombe strictement avant le jour suivant sera nécessairement avoir eu lieu au plus tard le jour de l'intérêt. Il est sargable parce que la colonne est par rapport à une expression constante (le résultat de la
+
opération déterministe), et, par conséquent, un indice au-dessusbooking_time
peut être parcouru immédiatement trouver tous les enregistrements correspondants.essayer cette contrainte