将日期导入Snowflake表



我有一个CSV文件,我正试图手动加载到Snowflake中。我已经创建了这些表,并为带有日期的列指定了DATETIME列类型。

CSV中的数据为20210709。这是进口到雪花作为1970-08-22

我无法确定原因。

我有另一个日期为2022年2月18日的文件,该文件正在正确导入。

感谢提供的任何帮助

Sridhar

您应该在FILE_FORMAT子句中或在创建FILE FORMAT对象时定义DATE_FORMAT参数。

示例:

copy into mytable
file_format = (type = 'CSV', DATE_FORMAT = 'YYYYMMDD')
pattern='.*/.*/.*[.]csv[.]gz';

简短的回答是:YYYYMMDD不是标准的可识别日期格式,因此在解析它时需要指定格式。

Michael的回答是一个很好的方法,我想提供一个替代方案:

这里是一些用于指定解析的示例语法;转换";COPY INTO导入期间的每列。文档

您需要建立一个阶段,该阶段本身可以具有file_format的参数。文档

copy into mytable (date_col, second_column)
from (
select TO_TIMESTAMP($1, 'YYYYMMDD'), $2
from @mystage/filename.csv
)

实际上我解决了如下问题

  1. 在FILE format中添加了日期格式(YYYMMDD(
  2. 将列类型更改为DATE,而不是DATETIME

相关内容

  • 没有找到相关文章

最新更新