csv文件导入到mysql日期格式

时间:2012-07-20 01:39:25

标签: php mysql date csv

我有一个我导入mysql的csv文件,csv文件中有一个日期字段,格式如下:30.09.2011

我有一个从数据库中提取数据的php页面,我想按日期字段对其进行排序。目前,它将日期视为一个字符串并按此顺序排序。

30.09.2011 2012年6月2日 2011年7月10日 2008年9月12日

谢谢!

2 个答案:

答案 0 :(得分:2)

不要使用PHP。在源头纠正它。也就是说,在数据类型为DATE的MySQL表中添加一个新列。

然后,您可以使用STR_TO_DATE()导入后填充它。

UPDATE your_table SET new_date_column = STR_TO_DATE(old_str_column,'%d.%m.%Y');

这样做将使得将来更容易进行排序,计算,格式化等。

答案 1 :(得分:0)

如果您定期提取CSV中的数据,为什么不修改提取SQL以使日期以正确的格式出现,以便MySQL将其吸入?

例如,如果您从oracle中提取,则可以更改

select
    yourDateColumn
from
    yourTable

select
    to_char(yourDateColumn, 'YYYY-MM-DD') as yourMySQLDateColumn
from
    yourTable

然后你可以直接导入到Mysql中的日期数据类型,但是你也可以跳过整个PHP上传并直接进入MySQL Load Data Infile命令,这将比PHP将要做的更快。