Ich habe eine Frage und ich habe die Lösung auf Stackoverflow nicht gefunden. Also hier ist meine Frage:Sortieren nach Datum Uhrzeit mit Typ varchar
Wie kann ich eine Varchar auf Datetime (TT/MM/JJ hh: mm: ss) Prioritäten in meiner PHP-Datei bestellen? Ich habe eine SQL-Tabelle mit einer Spalte "Registerdate". Sein Typ ist Varchar (Datetime ist aufgrund anderer Tabellenprobleme nicht möglich). My SQL ORDER BY-Abfrage ist:
SELECT * FROM users ORDER BY registerdate DESC LIMIT 3
Daraus ergibt sich:
12-11-16 11:03:54
06-12-16 19:05:22
06-12-16 15:03:30
Wie ich es will:
06-12-16 19:05:22
06-12-16 15:03:30
12-11-16 11:03:54
In meiner PHP-Datei ich die Zeit mit $ Datetime registrieren = date ("d/m/y H: i: s"); und in meiner Tabelle ist es ein Varchar, der aussieht wie 03/12/16 12:19:33
Ich denke, ich muss es in meiner SQL-Abfrage konvertieren, aber ich weiß nicht wie. Wer kann mir helfen? Vielen Dank im Voraus!
----- SERVER/SQL INFO -----
Server: Localhost via UNIX socket
Servertype: MariaDB
Serverversie: 10.0.27-MariaDB-cll-lve - MariaDB Server
Protocolversie: 10
BESTELLUNG DURCH STR_TO_DATE (registerdate,'% d /% m /% Y% h:% i:% s ') – Kamal
Danke Kamal. Lösung: ORDER BY STR_TO_DATE (registerdate, '% d /% m /% y% H:% i:% s') So Großbuchstabe H anstelle von einem Kleinbuchstabe h und Kleinbuchstabe y anstelle von einem Großbuchstabe Y. – Maarten
Keep in Beachten Sie, dass die Leistung nicht gut sein wird. Sie sollten Datetime-Werte wirklich in einem 'DATETIME'- (oder' TIMESTAMP'-) Datentyp speichern. Dieser Kommentar gilt für alle bisher vorgeschlagenen Lösungen. –