2016-12-08 4 views
1

yyyy-mm-ddThh:mm:ss.sssZのデータを含むcsvファイルをアップロードしたいとします。MySQLのyyyy-mm-ddThh:mm:ss.sssZからyyyy-mm-ddhh:mm:ss

私は、MySQLでDATETIMEタイプを設定し、

私は、MySQLがどのように私は成功しyyyy-mm-ddThh:mm:ss.sssZタイプをアップロードすることができますか?エラーコード1292

を得ましたか

enter image description here

+0

あなたがあなたの本当のデータの一部を共有していただけますか? 'varchar'型のカラムにデータを挿入する必要があります。その後、文字列の日付を有効な日付形式に更新する必要があります。それだけでデータ型を 'date'に変更すると成功します。 – 1000111

+0

私のデータ(csvファイル)の画像を追加しました。次に、DBにアップロードされたデータを使用して、文字列の日付を有効な日付形式に更新するにはどうすればよいですか? – SUN

答えて

0

まず、有効な日付時刻形式(yyyy-mm-dd hh:mm:ss)にあなたの文字列の日付を変換する必要があります。

STR_TO_DATE()およびDATE_FORMAT()関数を使用すると、これらの日付文字列を上記の目的の形式に変換できます。

これで、データ型をtimestamp/datetimeに安全に変更/変更できます。

Create table yourtable(
    id INT primary key AUTO_INCREMENT, 
    start varchar(50) 
); 

INSERT INTO yourtable(start) VALUES('1901-02-03T05:30:00.000Z'); 

UPDATE yourtable 
SET start = DATE_FORMAT(STR_TO_DATE(start,'%Y-%m-%dT%H:%i:%s.000Z'),'%Y-%m-%d %H:%i:%s'); 

:有効な日付形式に

SQL FIDDLE DEMO


変換文字列日付:ここ

はデモです

変更データ型:

ALTER TABLE yourtable MODIFY COLUMN start datetime; 
+0

私はあなたの助けに感謝しています! – SUN

+0

回答を「受け入れ済み」としてマークして、他の人がそれが有用であると分かるようにすることができます。 http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – 1000111