MySQL-Strip-Zeitkomponente von Datum / Uhrzeit

87

Ich muss einen Datumsvergleich in MySQL durchführen, ohne die Zeitkomponente zu berücksichtigen, dh ich muss '2008-11-05 14:30:00' in '2008-11-05' konvertieren.

Zur Zeit mache ich das:

SELECT from_days(to_days(my_date))

Gibt es einen richtigen Weg, dies zu tun?

Abarax
quelle

Antworten:

13

select date(somedate) ist die häufigste.

Wenn Sie andere Formate berücksichtigen müssen, können Sie Folgendes verwenden:

SELECT DATE_FORMAT(your_date, '%Y-%m-%d');
Gemeinschaft
quelle
2
Das DATE_FORMAT ist sehr nützlich, um beispielsweise nur die Jahreskomponente zu extrahieren. Danke dir.
Mario Awad
3

In PostgreSQL verwenden Sie die Funktion TRUNC (), aber ich sehe sie nicht für MySQL. Aus meinem kurzen Googeln geht hervor, dass Sie Ihren DATETIME-Wert so umwandeln müssen, dass er nur DATE ist.

date_col = CAST(NOW() AS DATE)

Siehe http://dev.mysql.com/doc/refman/5.0/en/date-and-time-types.html

Andy Lester
quelle
1
date_trunc()(nicht trunc()) würde den Zeitteil in Postgres nicht wirklich entfernen . Es würde lediglich festlegen, 00:00:00was etwas anderes ist.
a_horse_with_no_name
0

Nur eine einfache Möglichkeit, dies zu tun, date("d F Y",strtotime($row['date']))woher $row['date']Ihre Anfrage stammt

Rajeev Kumar
quelle
-5

Du könntest benutzen ToShortDateString();

Jupirao Bolado
quelle
Ist das nicht eine C # -Funktion? Die Frage ist nach einer MySQL-Lösung
Andrews
Es ist C # und entfernt tatsächlich nicht den Zeitstempel: Konvertiert den Wert des aktuellen DateTime-Objekts in die entsprechende Darstellung einer kurzen Datumszeichenfolge.
Nizar B.