首页 > 解决方案 > 通过 Talend 将 CSV 文件中的日期加载到 MySQL,2020-03-30 显示为 2020-03-29,从那时起日期为 +1 天

问题描述

一段时间以来,我一直在使用 Talend 将数据从 CSV 加载到 MySQL,但最近遇到了一个问题,即日期在 2020-03-30 时出现混乱。

我只加载了一个日期文件以查找问题所在,下面(附加图像)是我加载的内容与 SQL 中显示的内容。

需要注意的是,这种情况每年都会发生,并且不仅发生在 2020 年的日期。此外,3 月 29 日被重复,10 月 25 日被删除 - 因此 3 月 29 日至 10 月 25 日之间的所有日期都不正确 1 天,并且这些以外的任何日期都可以。

所有这些都是通过简单的映射完成的: 输入:tFileInputDelimited 处理:tMap 输出:SQLtable

映射时两边使用的日期格式为“yyyy-MM-dd”。

CSV 文件日期 - 已加载 SQL 日期 - 结果

标签: mysqlcsvtalend

解决方案


当从一个环境转移到另一个环境时,Talend 就会发生这种情况。例如,从文件到 DB 或从 1 个 Db 服务器到另一个。我有办法解决它。我在 Talend 的架构中将该列声明为字符串并在数据库中设置日期时间数据类型。这解决了这个问题。下面是 Talend 工作的屏幕截图: 在此处输入图像描述


推荐阅读