J'ai une question et je n'ai pas trouvé la solution sur stackoverflow. Alors, voici ma question:ordre par datetime avec le type varchar
Comment puis-je commander une priorité Varchar on datetime (jj/mm/aa hh: mm: ss) dans mon fichier PHP? J'ai une table SQL avec une colonne "registerdate". Son type est Varchar (datetime n'est pas possible en raison d'autres problèmes de table). Mon SQL ORDER BY requête est:
SELECT * FROM users ORDER BY registerdate DESC LIMIT 3
Il en résulte:
12-11-16 11:03:54
06-12-16 19:05:22
06-12-16 15:03:30
Comment je le veux:
06-12-16 19:05:22
06-12-16 15:03:30
12-11-16 11:03:54
Dans mon fichier php j'enregistrer le temps avec datetime $ = Date ("d/m/y H: i: s"); et dans ma table c'est un Varchar qui ressemble à 03/12/16 12:19:33
Je pense que je dois le CONVERTIR dans ma requête SQL mais je ne sais pas comment. Qui peut m'aider? Merci d'avance!
----- SERVEUR/INFO ----- SQL
Server: Localhost via UNIX socket
Servertype: MariaDB
Serverversie: 10.0.27-MariaDB-cll-lve - MariaDB Server
Protocolversie: 10
COMMANDER PAR STR_TO_DATE (date d'enregistrement,'% d /% m /% Y% h:% i:% s ') – Kamal
Merci Kamal. Solution: COMMANDER PAR STR_TO_DATE (registerdate, '% d /% m /% y% H:% i:% s') Donc majuscule H au lieu d'une minuscule h et minuscule y au lieu d'une majuscule Y. – Maarten
Gardez à l'esprit que la performance ne sera pas bonne. Vous devriez vraiment stocker les valeurs datetime dans un type de données 'DATETIME' (ou' TIMESTAMP'). Ce commentaire s'applique à toutes les solutions suggérées jusqu'à présent. –