Vergleichen von Datumsangaben in MySQL, wobei der Zeitabschnitt eines DateTime-Felds ignoriert wird
Brauche ich, um zu vergleichen, Daten in MySQL ignoriert das Teil in einem DateTime
Spalte. Ich habe versucht die folgende SQL.
SELECT * FROM order_table where order_date=date_format('2012-05-03', '%Y-%m-%d');
Es nicht abrufen einer Zeile, obwohl es ein Datum 2012-05-03 10:16:46
in der MySQL-Tabelle. Wie kann der zeitteil in der DateTime
Feld werden ignoriert beim Vergleich von Datumsangaben in MySQL?
InformationsquelleAutor der Frage Tiny | 2012-05-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie die
DATE
Funktion:Aber dies ist effizienter, wenn Sie Ihre Tabelle zu groß ist und Sie über einen index auf
order date
:InformationsquelleAutor der Antwort Mark Byers
Wenn Sie übergeben möchten, in ein Datum, dann können Sie versuchen, so etwas wie dieses:
Kann man sich diese weitere Funktionen.
InformationsquelleAutor der Antwort James Black
InformationsquelleAutor der Antwort lanzz
@Mark hat den guten Ansatz, aber nur vorsichtig sein, dass Sie immer zu berechnen, und finden Sie am nächsten Tag in diesem Fall. Wenn Sie vermeiden wollen, und immer noch ignorieren die Zeit, die Sie tun könnten, folgende:
Ich hoffe, das macht Sinn.
InformationsquelleAutor der Antwort deej
Vielleicht können Sie verwenden, Funktion wie
date()
. Aber in diesem Fall kann die Geschwindigkeit verringert werden, weil der index nicht verwendet werden. Also, ich empfehle die VerwendungInformationsquelleAutor der Antwort Kostia Shiian
Dies ist etwas alt .... aber eine richtige Antwort ist auch mit dem date_format auf die column order_date wie unten:
InformationsquelleAutor der Antwort Erevodifosin
einer der folgenden verwendet werden könnte, beim Vergleich von Datumsangaben in MySQL:
mehr auf die Datum-Funktionen von MySQL Dokumentation.
InformationsquelleAutor der Antwort Augustas
In meinem Fall hatte ich
DATE_FORMAT
undCONVERT_TZ
Die einzige, die für mich gearbeitet ist diese
InformationsquelleAutor der Antwort shareef