MysqlでVarcharからDate形式に変更することは可能ですか?
現在の日付形式 2013 年 9 月 16 日月曜日
私は実際には「月曜日」という日を含めたいのですが、私の問題は実際にはアルファベット順に並べられているため、可能であれば日付形式に変換したいと考えています。
ありがとうございました
エッギャルの言う通り、
SELECT STR_TO_DATE('Monday 16th September 2013','%W %D %M %Y')
指定した日付レイアウトのジョブを実行します。
これは、日付を含む列でも機能します。たとえば、列にこれらの日付がある場合:
what_day
Monday 16th September 2013
Tuesday 17th September 2013
Thursday 19th September 2013
Friday 20th September 2013
Saturday 21st September 2013
Thursday 19th September 2013
できるよ
SELECT what_day
FROM days
ORDER BY STR_TO_DATE(what_day,'%W %D %M %Y')
日付順に日を取得します。これを参照してください: http://sqlfiddle.com/#!2/74c58/1/0
注意してください、MySQL は日付の有効性をあまりチェックしていません。曜日は無視されます。また、2013 年 9 月 31 日 (有効な日付ではない) を入力すると、MySQL は合理的に、2013 年 10 月 1 日を意味すると判断します。
これにより、次のようなあらゆる種類の素敵な日付演算を行うことができます
SELECT STR_TO_DATE('Monday 16th September 2013','%W %D %M %Y')
- INTERVAL 1 QUARTER
また、適切な並べ替えも可能です。