私は質問があり、私はstackoverflowで解決策を見つけることができませんでした。だから私の質問です:varchar型のdatetimeで注文
PHPファイルのdatetime(dd/mm/yy hh:mm:ss)優先順位でVarcharを注文するにはどうすればよいですか? "registerdate"列を持つSQLテーブルがあります。その型はVarcharです(datetimeは他のテーブルの問題のために不可能です)。クエリBYマイSQLのORDERは次のとおりです。
SELECT * FROM users ORDER BY registerdate DESC LIMIT 3
これは、その結果:
私はそれをしたいどのように12-11-16 11:03:54
06-12-16 19:05:22
06-12-16 15:03:30
:
06-12-16 19:05:22
06-12-16 15:03:30
12-11-16 11:03:54
私のPHPファイルでは、私は$日時=日付と時刻を登録します(「d/m/yH:i:s」)。私のテーブルでは、それはVarcharのように見えます03/12/16 12:19:33
私はそれを私のSQLクエリで変換する必要があると思いますが、私はどのようにわかりません。誰が私を助けられるか?事前に多くの感謝!
-----サーバー/ SQLのINFO -----
Server: Localhost via UNIX socket
Servertype: MariaDB
Serverversie: 10.0.27-MariaDB-cll-lve - MariaDB Server
Protocolversie: 10
ORDER BY STR_TO_DATE(登録日、'%d /%m /%Y%h:%i:%s ') – Kamal
ありがとうKamal。 解決方法:ORDER BY STR_TO_DATE(登録日、 '%d /%m /%y%H:%i:%s') 大文字のHではなく大文字のHと、大文字のYではなく小文字のyです。 – Maarten
パフォーマンスが良くないことを覚えておいてください。 datetime値は 'DATETIME'(または' TIMESTAMP')データ型に格納してください。このコメントは、今まで提案されたすべてのソリューションに適用されます。 –