Nach Datum / Uhrzeit-MYSQL-Formatierung filtern

8

Ich habe eine Mysql-Tabelle, die für eine Protokolldatei in der Tabelle verwendet wird. Es gibt ein Feld namens 'log_date'. Es speichert das Datum im folgenden Format (% Y-% m-% d% H:% i .% s) .Auf der DB sehen die Daten wie etwas dieses 2013-20-05 00: 00.00 aus. Sagen wir, das heutige Datum ist 2013-20-05 Und ich habe Log-Dateien vom 01.01.2013 bis zum heutigen Tag. Wenn ich eine Abfrage wie folgt ausführen:

%Vor%

Dies gibt jede Zeile in der Datenbank zurück, einschließlich Zeilen, die größer als 2013-05-05 00: 00.00

sind

Und wenn ich das & lt; (weniger als) zu einem & gt; (größer dann) mit einer Abfrage, die wie folgt aussieht:

%Vor%

Dann gibt es NULL-Zeilen zurück. Ich denke, der Zeitstempel ist das, was das Problem verursacht, dass ich mit dem Datumsformat vor, aber nicht mit dem DateTime-Format gearbeitet habe. Warum passiert das?

    
Ryan Bauer 20.05.2013, 19:47
quelle

2 Antworten

14

log_date sollte vom DateTime-Datentyp sein. Es ist viel einfacher, MySQL DATE-Funktion zu verwenden. Einige Beispiele

%Vor%     
blotto 20.05.2013 21:03
quelle
0

Sie können damit versuchen ..

%Vor%

Sie können das Datum auch mithilfe der Funktion now () abrufen.

    
Cataclysm 21.05.2013 05:11
quelle

Tags und Links