私は初めてのCSVインポートをMySQLに行っていて、CSVの日付が31-Jan-2011
の形式であることに気づきました。これを2011-01-31
に変換するにはどうすればDATEデータ型に入れることができますか?最初に気になったのは、PHPが変換を行って2番目のテーブルに挿入することですが、それは正しいとは思いません。異なる日付形式のMySQLにCSVをインポートする
答えて
あなたは、たとえば、CSVファイルからデータをインポートする時のフォーマットを置き換えることができます -
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
それは正しいDATETIMEデータ型に'31 -JAN-2011' のような文字列をフォーマットします。
ここをクリックしてください - LOAD DATA INFILE Syntax。
[this](http://dba.stackexchange.com/questions/90498/import-csv-file-into-mysql-with-custom-data-change?noredirect=1#comment162435_90498)の問題について教えてください。助けてください?ありがとう –
mysql> SELECT DATE_FORMAT('2009-10-04 22:23:00', '%Y-%m-%d');
+------------------------------------------------+
| DATE_FORMAT('2009-10-04 22:23:00', '%Y-%m-%d') |
+------------------------------------------------+
| 2009-10-04 |
+------------------------------------------------+
1 row in set (0.00 sec)
ファイルが大きすぎない場合は、ExcelにCSVを読み込み、そこで書式設定コマンドを使用して日付表現を変更します。
あなたの答えは、SQLの質問に本当に役立つものではありません。さらに、Excelはバッチ処理に組み込むのが簡単ではありません。 –
これは私のために働いた、単に列のExcelの日付形式を "yyyy-mm-dd"に変更し、csvとして保存してインポートしました。 –
- 1. MySQL - 日付形式
誰かがすでにこれを解決したようです:http://stackoverflow.com/questions/5616494/how-to-convert-csv-date-format-to-into-mysql-db私は誰かがこの質問を持っている場合にそれを掲示しています。 – enchance