CSV ファイルを MySQL にインポートする場合、次のような目的の形式とは異なる日付形式が発生することがよくあります。 「2011-01-31」ではなく「2011-01-31」。この問題を解決するために、MySQL はデータ インポート プロセス中に STR_TO_DATE() 関数を使用するソリューションを提供します。
PHP で変換を実行して別のテーブルに挿入する代わりに、提供されるソリューションは専門家による作業には、インポート自体の際のデータの変更が含まれます。次のコードは、これを実現する方法を示しています。
LOAD DATA INFILE 'file_name.csv' INTO TABLE table_name FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' (id, column2, column3, @date_time_variable) -- read one of the field to variable SET date_time_column = STR_TO_DATE(@date_time_variable, '%d-%b-%Y'); -- format this date-time variable
上記のコードでは、@date_time_variable は、CSV ファイル内の文字列日付 (この場合は「31-Jan-2011」) を格納する一時変数を表します。 。次に、STR_TO_DATE() 関数は、この文字列を目的の形式 ('2011-01-31') に変換します。結果はテーブルの date_time_column カラムに割り当てられます。
このアプローチの詳細については、MySQL ドキュメントの LOAD DATA INFILE 構文を参照してください。
以上が異なる日付形式の CSV データを MySQL にインポートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。