2016-04-01 5 views
2

Ich habe Daten in meiner Tabelle gespeichert. Ich möchte meine Spalte mit dem Namen new_meeting_time als Varchar sortieren. Ich habe eine Abfrage SELECT * FROM table_name ORDER BY new_meeting_time ASC und gibt mir die folgende Ausgabe:Wie Datum-Uhrzeit als Varchar-Datentyp in aufsteigender AM/PM-Reihenfolge gespeichert werden?

 1. 17-03-2016 01:26 PM 
     2. 17-03-2016 01:31 PM 
     3. 17-03-2016 01:34 PM 
     4. 17-03-2016 01:44 PM 
     5. 17-03-2016 10:33 AM  

Aber ich möchte Daten in der folgenden Reihenfolge bekommen:

 1. 17-03-2016 10:33 AM 
     2. 17-03-2016 01:26 PM 
     3. 17-03-2016 01:31 PM 
     4. 17-03-2016 01:34 PM 
     5. 17-03-2016 01:44 PM 

Wie kann ich das tun?

+0

Was ist der Datentyp von 'new_meeting_time'? –

+0

Entschuldigung für den falschen oreder. Ich habe es korrigiert. @DylanSu –

+0

Bitte ändern Sie den Datentyp von new_meeting_time von varchar zu timestamp –

Antwort

0
SELECT * 
FROM table_name 
ORDER BY STR_TO_DATE(new_meeting_time, '%d-%m-%Y %h:%i:%s') ASC 
+0

Vielen Dank es funktioniert für mich @devs –

+1

Wenn die Antwort korrekt ist, klicken Sie bitte auf den grauen Haken auf der linken Seite zu akzeptieren. so dass zukünftige Benutzer verwenden können –

0

Versuchen Sie, diese STR_TO_DATE nutzen.

SELECT * FROM table_name ORDER BY STR_TO_DATE(new_meeting_time,'%d-%m-%Y %h:%i %p'); 

Demo für die Wirkung dieser Funktion:

mysql> select STR_TO_DATE('17-03-2016 01:26 PM','%d-%m-%Y %h:%i %p'); 
+--------------------------------------------------------+ 
| STR_TO_DATE('17-03-2016 01:26 PM','%d-%m-%Y %h:%i %p') | 
+--------------------------------------------------------+ 
| 2016-03-17 13:26:00         | 
+--------------------------------------------------------+ 
1 row in set (0.00 sec) 
5

Speichern Sie Ihre Daten in einem geeigneten Format, dasDatetime ist.

Lösungen von den anderen Antworten sind einfach schrecklich Leistung.

Eine Datenbank ist ein feiner Mechnismus. Und man sollte es richtig benutzen. Wenn Sie fragen, wie man ein Pferd anschnallt, um ein Auto zu fahren, ist die richtige Antwort "Kauf Benzin".

Verwandte Themen