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?

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');

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


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


-5

Du könntest benutzen ToShortDateString();


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.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.