使用不同的日期格式将CSV导入MySQL

时间:2011-11-17 06:36:54

标签: mysql csv insert

我首次将CSV导入MySQL,并注意到CSV中的日期格式为31-Jan-2011。如何将其转换为2011-01-31,以便将其置于DATE数据类型中?首先想到的是让PHP进行转换,然后将其插入到第二个表格中,但我猜测那个......不对。

2 个答案:

答案 0 :(得分:40)

您可以在从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

它会将像'31 -Jan-2011'这样的字符串格式化为正确的DATETIME数据类型。

此处提供更多信息 - LOAD DATA INFILE Syntax

答案 1 :(得分:0)

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)