【发布时间】:2016-06-08 12:06:53
【问题描述】:
我有一个使用 COPY 命令在 Redshift 中加载的数据源文件。
该文件有一堆具有两位数年份格式的日期列(我知道,我在这里处理的是恐龙)。
Redshift 可以识别日期格式,但问题是文件的值如下:
06/01/79
这实际上意味着:
2079-06-01
然而 Redshift 将其解释为:
1979-06-01
有没有办法告诉 Redshift 我对两位数日期格式的阈值是多少。例如,低于 90 的值应被解释为 20XX。
COPY 命令中的 DATEFORMAT 参数没有这样的选项。
【问题讨论】:
-
作为替代方案,如果您不想/不能事先编辑文件,您可以在
COPY之后使用UPDATE,在其中使用DATEADD(year,100,timestamp)修复年份。如有必要,利用临时表。 -
我认为更新临时表是最好的解决方案。文件太大,无法在代码中处理。
标签: postgresql date amazon-redshift y2k