0

MysqlでVarcharからDate形式に変更することは可能ですか?

現在の日付形式 2013 年 9 月 16 日月曜日

私は実際には「月曜日」という日を含めたいのですが、私の問題は実際にはアルファベット順に並べられているため、可能であれば日付形式に変換したいと考えています。

ありがとうございました

4

1 に答える 1

0

エッギャルの言う通り、

  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

また、適切な並べ替えも可能です。

于 2013-09-16T19:06:40.897 に答える