【问题标题】:Invalid Input Syntax for Type Date日期类型的输入语法无效
【发布时间】:2021-05-06 20:18:34
【问题描述】:

我正在尝试通过 CMD 中的命令行远程将数据加载到 PosgreSQL 数据库,将数据从 CSV 文件复制到特定表。它运行良好,但不知何故,当我现在尝试加载数据时,CMD 向我抛出此错误

奇怪的是CSV文件在日期类型中也有“fecha_carga”字段,并且以这种方式在数据库中的表存储中,这是我的尝试:

psql -h suggestedorder.postgres.database.azure.com -d DataAnalytics -U dev_ext@suggestedorder -c "TRUNCATE planning.env_cat_bloqueados" -c "\copy planning.env_cat_bloqueados (key, bloqueado, fecha_carga)from 'C:\Users\geradiaz.MODELO\Desktop\Envase\Catalogos\Outputs_Catalogos\Catalogo_Bloqueados\Catalogo_Bloqueados_Output.csv'with delimiter as ','

谁能解释一下这里发生了什么?我该如何解决?

最好的问候和感谢!

【问题讨论】:

    标签: postgresql command-line csv-import postgresql-copy


    【解决方案1】:

    @Adrian Klaver 评论让我知道我的命令行出了什么问题,实际上我的 CSV 文件上的字段被当作数据,所以我更改了命令行,指定我的 CSV 文件有标题,使用下一个最后的指令而不是with delimiter as ','

    with (format csv, header) 
    

    所以,这是整个命令行:

    psql -h suggestedorder.postgres.database.azure.com -d DataAnalytics -U dev_ext@suggestedorder -c "TRUNCATE planning.env_cat_bloqueados" -c "\copy planning.env_cat_bloqueados (key, bloqueado, fecha_carga)from 'C:\Users\geradiaz.MODELO\Desktop\Envase\Catalogos\Outputs_Catalogos\Catalogo_Bloqueados\Catalogo_Bloqueados_Output.csv'with (format csv, header)
    

    谢谢!

    【讨论】:

      【解决方案2】:

      首先请不要将图像用于文本数据,而是复制和粘贴文本。其次,我猜CSV 文件有一个标题,其中包含字段的列标题fecha_carga。由于您没有在WITH 中指定HEADERDELIMITERCOPY 将标题行作为数据,fecha_carga 不是有效日期。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-10
        • 2021-11-04
        • 2018-05-22
        • 1970-01-01
        • 2018-12-31
        相关资源
        最近更新 更多