表中的日期是dd.mm.yyyy - 无法通过csv导入postgres

时间:2018-02-10 16:20:46

标签: postgresql csv date pgadmin

我试图将.csv添加到数据库中的表中。

.csv中的所有日期均采用此格式dd.mm.yyyy(18.10.2017)。

我通过pgadmin导入并始终收到无效的输入错误。

我尝试使用几乎所有日期格式选项,但没有运气。

我不想手动更改csv。

任何人都可以帮我吗?

2 个答案:

答案 0 :(得分:4)

我几乎总是将数据导入到临时表中,其中所有列都是字符串。

然后我使用查询加载最终表。

这有几个好处:

  • 它让我可以更好地控制数据的转换方式。
  • 可以更轻松地调试问题 - 可以查询整个临时表以查找具有特定问题的所有行(例如)。
  • 可以在加载到最终表格之前执行其他验证。

这只是一个建议,但您可能会发现总体来说这需要更少的时间。

答案 1 :(得分:1)

DateStyle设置可能设置为MDY。您可以通过运行来检查:

show datestyle;

虽然dd.mm.yyy并未作为标准输入格式列出,但如果您希望它能够正常工作,则需要DateStyle与此处的排序(DMY)对齐。

  

用户可以使用SET datestyle命令,postgresql.conf配置文件中的DateStyle参数或服务器或客户端上的PGDATESTYLE环境变量来选择日期/时间样式。

参见"日期顺序约定"

部分

https://www.postgresql.org/docs/current/static/datatype-datetime.html