2011-12-30 13 views
1

平日、日月、年の文字列のフォームの日付を格納する日付フィールドがテーブルにあります。古いMySQLの日付フィールドの間違いを修正する

例:水曜日、02、2010年11月

フィールドもvarchar型です。

phpスクリプトを使用してテーブル全体をループして、日付をmysqlの日付形式に変換したり、SQLクエリでこれを実行したりできますか?

私は今ある形式で特定の日付と日付範囲を選ぶことに関連する特定の統計レポートを事前に作成することはできません。私の選択肢は何ですか?

+0

。 –

+2

http://codepad.org/fnasyG5f –

+0

有望で、テストデータベースでループし、どのようになっているかを見てみましょう。ありがとう! – Erocanti

答えて

2

でPHP関与を取得する必要はありませが、このクラスの詳細情報を見つけることができません。それは、MySQLで直接行うことができます。ここ

ALTER TABLE yourtable ADD fixeddate date; 
UPDATE yourtable SET fixeddate=STR_TO_DATE(bad_date_field, '%W, %d, %M %Y'); 

関連ドキュメント:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-dateかなり醜い日をだ

1

PHPにはDateTimeという名前のクラスが組み込まれています。ここにあなたを始めるべきコードのスニペットがあります。

$date = DateTime::createFromFormat('l, d, F Y', 'Wednesday, 02, November 2010'); 
echo $date->format('Y-m-d'); 

あなたはhttp://au.php.net/manual/en/book.datetime.php

関連する問題