2017-09-27 1 views
-1

DateTime型の書式:MySQLの - CSVは、米国のDateTime形式のファイルのインポート:.CSVファイル内の "2017年4月18日午後10時15分"

4/18/2017 22:15 

ファイルは次のように読まれている:

load data local infile 'C:/somedirectory/somefile.csv' 
into table InFile 
fields terminated by ',' lines terminated by '\n' ignore 1 lines; 

日時列型のdatetimeで定義済みのテーブルにこれをロードすると失敗します。

これを日付/時刻型のvarchar(25)で定義されたテーブルにロードします。

ALTER TABLE InFile MODIFY COLUMN date-time datetime; 

(この質問は、それが可能としてマークされてしまっ答えた後:私は、テーブル内の日/月/年の順番を変更できます(だけでなく、動的に)ので、私はこれを行うことができますどのように

この問題は、日付と時刻についてのものですが、ここでの答えは、時間部分を含める方法を示しています。新しいMySQLユーザーには、 ''と ':'を%letterの真ん中)。

+0

[MySQLのLOAD DATA LOCAL INFILEを使用してCSVをインポートする際に、MySQLの日付形式に文字列の日付を変更する方法](https://stackoverflow.com/questions/2238611/how-to-change-string- date-to-mysql-date-format-of-csv-using-my) – miken32

答えて

1

datetimeがMySQLが理解できる形式でない場合は、STR_TO_DATE関数を使用してdatetimeを解析する必要がありますt。

LOAD DATA LOCAL INFILE 'filename' 
INTO TABLE InFile 
fields terminated by ',' lines terminated by '\n' ignore 1 lines 
(col1, col2, @datetime, col3, col4) 
set `date-time` = STR_TO_DATE(@datetime, '%m/%d/%Y %H:%i') 

AFAIKでは、列を変更して自動的に日付を別々に解析する方法はありません。

+0

作品は完璧です。ありがとう。 –

関連する問題