クエリの結果を形式の日付で並べ替えようとしましたが、yyyy/mm/dd
このクエリを使用しても無駄になります。
SELECT * FROM table ORDER BY STR_TO_DATE(date, '%y/%m/%d')
日付が保存されているフィールドのタイプを変更できないので、日付投稿データ入力を注文できることを望んでいます。
どんな助けやアドバイスもありがたいです。
クエリの結果を形式の日付で並べ替えようとしましたが、yyyy/mm/dd
このクエリを使用しても無駄になります。
SELECT * FROM table ORDER BY STR_TO_DATE(date, '%y/%m/%d')
日付が保存されているフィールドのタイプを変更できないので、日付投稿データ入力を注文できることを望んでいます。
どんな助けやアドバイスもありがたいです。
日付がその形式の場合、日付に変換する必要はありませんよね?その形式は、0が埋め込まれていると仮定すると、アルファベット順に並べ替えられます...(つまり、7月は2012年7月3日は2012/07/03です...)
だからあなたはただ行くことができます:
select * from table order by date
あなたのフィールドはどのタイプのフィールドですかdate
:それは確かvarchar
ですか?
それがであると仮定すると、次のvarchar
ようにして何が問題になっているのかを理解できます。
select str_to_date(date, '%y/%m/%d') from table
%y
が間違っているので、すべてのNULLを取得する必要があります。試す:
select str_to_date(date, '%Y/%m/%d') from table
そしてそれは動作するはずです。ただし、前述のように、並べ替えに変換する必要はありません。
大文字のYで試してください:
SELECT * FROM table ORDER BY STR_TO_DATE(date, '%Y/%m/%d')
小文字のYはyyを表し、大文字はyyyyを表します。
SELECT*FROMテーブルORDERBY日付