2017-02-20 33 views
2

Я пытаюсь импортировать CSV в MySQL.формат timestamp dd/mm/yyyy hh: mm: ss to yyyy-mm-dd hh: mm: ss - MySQL

CSV-имеет метки времени, как

28/07/2016 16:00:00. 

Мне нужно время, чтобы быть

0000-00-00 00:00:00 (yyyy-mm-dd hh:mm:ss) 

Как преобразовать это в Excel перед импортом CSV?

Или, если я загружаю временную метку в качестве varchar - есть ли способ конвертировать ее в MySQL?

+0

выберите DATE_FORMAT (NOW(), '% Y-% m-% d% h:% i'); –

+0

Этот вопрос касается временной части даты и времени, заявленный дубликат не указывает времени. – ChuckCottrill

ответ

3

Если вы хотите, чтобы справиться с этим на стороне MySQL, вы можете использовать LOAD DATA при применении STR_TO_DATE() для преобразования метки времени Excel в формат, который MySQL может потребить:

LOAD DATA INFILE '/path/to/your/file.csv' 
INTO TABLE yourTable 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\r\n' 
(@c1, col2, col3, ...) 
SET col1 = STR_TO_DATE(@c1, '%d/%m/%Y %H:%i:%s'); 

Но лично я предпочел бы найти способ чтобы Excel экспортировал метки времени в формате, совместимом с ANSI, то есть год-месяц-день.