Redshift COPY Statement 日期加载错误

Posted

技术标签:

【中文标题】Redshift COPY Statement 日期加载错误【英文标题】:Redshift COPY Statement Date load error 【发布时间】:2018-04-19 16:46:12 【问题描述】:

我正在使用 COPY 命令加载数据。

我的日期采用以下格式。

    D/MM/YYYY 例如。 2016 年 1 月 12 日 DD/MM/YYYY 例如。 2016 年 12 月 23 日

我的目标表数据类型是 DATE。我收到以下错误“无效的日期格式 - 长度必须为 10 或更多”

【问题讨论】:

【参考方案1】:

根据 AWS Redshift 文档,

默认日期格式为 YYYY-MM-DD。默认时间戳没有 时区 (TIMESTAMP) 格式为 YYYY-MM-DD HH:MI:SS。

因此,由于您的日期格式不同且长度不同,因此您会收到此错误。在 COPY 命令的末尾附加以下内容,它应该可以工作。

[[您现在使用的复制命令]] + DATEFORMAT 'DD/MM/YYYY'

但不确定单个数字的情况。您可能希望在开头用 0 填充传入值以匹配格式长度。

【讨论】:

感谢您的帮助,但我正在寻找一位数的值。 是否可以修改源数据,因为将日期设为两位数而不是一位数可能更好。

以上是关于Redshift COPY Statement 日期加载错误的主要内容,如果未能解决你的问题,请参考以下文章

Redshift COPY 自动压缩

S3 使用 COPY 到 Redshift:无法 COPY 到不存在的表中

使用 COPY 将数据上传到 RedShift

Redshift COPY 并自动创建表?

在 Python 中如何捕获 Redshift 对 COPY 命令的响应?

从 lambda 中使用 redshift COPY 命令的权限