1

csv_file:

|column_1 | Column_2 | Column_3             |
|===========================================|
|abc      | xyz      | 9/15/2020 1:28:00 AM |

我正在尝试使用以下命令将文件从 s3 加载到雪花:

COPY INTO  table_name 
FROM @stage/file_name.csv  
FILE_FORMAT = (
   type = csv 
   SKIP_HEADER = 1
) 
FORCE = TRUE 
ON_ERROR = Continue;

但是在执行此查询时出现错误,因为无法识别时间戳 '9/15/2020 1:28:00 AM'。有什么方法可以让我能够将数据加载到表中而不会出现任何错误?

4

1 回答 1

0

如果您没有明确指定,Snowflake 会尝试自动检测加载文件的时间戳格式。但是,有时日期字符串可以匹配多种输入格式,因此 Snowflake无法保证按您的意图解析日期。

您可以在加载到 'MM/DD/YYYY HH12:MI:SS AM' 之前设置TIMESTAMP_INPUT_FORMATfile_format会话参数,也可以将其指定为如下选项(未经测试):

COPY INTO table_name 
FROM @stage/file_name.csv 
FILE_FORMAT = (
      type = csv 
      SKIP_HEADER = 1 
      TIMESTAMP_FORMAT = 'MM/DD/YYYY HH12:MI:SS AM'
   ) 
FORCE = TRUE ON_ERROR = Continue;
于 2020-10-20T21:43:16.913 回答