【发布时间】:2012-10-30 10:38:56
【问题描述】:
我正在将带有点德国日期的 CSV 文件导入 MySQL 数据库。我希望 CSV 中的日期自动正确格式化为 MySQL 使用的正确数据类型字段。
我正在使用 Sequel Pro 进行导入。我认为我应该使用 STR_TO_DATE 函数,但我无法理解如何在程序中使用 Add Value 或 Expression。
德国日期
以下是 CSV 文件中的日期:
DD.MM.YYYY 例如:28.01.1978
MySQL 日期
这是我想在数据库中得到的结果:
YYYY-MM-DD
e.g.: 1978-01-28
这是我尝试过的方法
我将STR_TO_DATE('$5', '%d.%m.%Y'); 放入添加值或表达式中,但这只会给出以下错误消息:
[ERROR in row 1] 您的 SQL 语法有错误;检查与您对应的手册 MySQL 服务器版本,用于在 '06.04.1997''、'%d.%m 附近使用正确的语法。 %Y');,'2KMX','43354997')' 在第 2 行
有什么想法吗?
【问题讨论】:
-
使用正则表达式查找和替换预处理您的 CSV 大约需要一分钟才能解决此问题。
-
这确实是一个 hacky 解决方案,Jon。 ;)
-
如果您对构建导入工具感兴趣,那么请不要使用它。 OTOH,如果您有兴趣导入数据以便继续实际工作,也许您应该考虑一下。 ;-)