string
として機能するdate
列があり、それをdate
として選択します。
出来ますか?
私のサンプルデータフォーマットはこうなるでしょう。 month/day/year
- > 12/31/2011
MySQLは日付フィールドとして日付テキストを含む文字列カラムを使用 で言われたように、あなたはすることができます
SELECT STR_TO_DATE(yourdatefield, '%m/%d/%Y')
FROM yourtable
これらの日付文字列をWHERE
句で扱うこともできます。例えば
SELECT whatever
FROM yourtable
WHERE STR_TO_DATE(yourdatefield, '%m/%d/%Y') > CURDATE() - INTERVAL 7 DAYS
このようにして、あらゆる種類の日付/時刻レイアウトを処理できます。 DATE_FORMAT()
の2番目のパラメータに何を入力できるかについては、 STR_TO_DATE()
関数のフォーマット指定子 を参照してください。
STR_TO_DATE('12/31/2011', '%m/%d/%Y')
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
上のページを使ってMySQLのより多くの関数を参照する
SELECT STR_TO_DATE(StringColumn, '%d-%b-%y')
FROM table
例えば、出力を取得するために以下のクエリを使用する
SELECT STR_TO_DATE('23-feb-14', '%d-%b-%y') FROM table
文字列フォーマットの場合は、以下のリンクを使用してください。
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format
これはもう2つの例です。
日、月、年を出力するには、次のようにします。
select STR_TO_DATE('14/02/2015', '%d/%m/%Y');
どれが生成されます:
2015-02-14
時間も出力するには、次のようにします。
select STR_TO_DATE('14/02/2017 23:38:12', '%d/%m/%Y %T');
どれが生成されます:
2017-02-14 23:38:12