You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snowflake执行COPY INTO导入CSV报时间戳无法识别错误如何解决

报错根因

两个核心配置错误导致解析失败:

  • 时间格式配置完全不匹配:你之前设置的yyyy/mm/dd HH24:MI:SS存在三处错误:分隔符用了斜杠/,但原始时间的年月日分隔符是横杠-;格式符mm代表分钟,代表月份的正确格式符是大写MM;原始时间带3位毫秒部分.000,你配置的格式串没有覆盖这部分内容。
  • CSV解析规则缺失:报错信息里时间戳外层带双引号,说明没有配置CSV字段包围符规则,Snowflake把字段外层的引号当成了时间值的一部分,进一步导致解析失败。
  • 你之前通过ALTER citibike SET修改的是数据库级参数,本身配置值错误,且会话级、COPY命令内联的配置优先级高于数据库级配置,自然不会生效。
修复方案

直接在COPY命令里内联正确的文件格式配置,绕开参数优先级问题,命令如下:

COPY INTO trips 
FROM @citibike_trips
FILE_FORMAT = (
    TYPE = CSV,
    TIMESTAMP_FORMAT = 'yyyy-MM-dd HH24:MI:SS.FF3',
    FIELD_OPTIONALLY_ENCLOSED_BY = '"',
    SKIP_HEADER = 1 -- 若CSV文件无表头可删除该行
);

执行前可以先跑单值解析验证格式正确性:

SELECT TO_TIMESTAMP('2013-08-19 09:50:37.000', 'yyyy-MM-dd HH24:MI:SS.FF3');

正常返回时间类型结果即代表格式串配置正确。

之前设置的错误数据库参数建议重置为默认,避免影响后续任务:

ALTER DATABASE citibike SET TIMESTAMP_INPUT_FORMAT = 'AUTO';

内容的提问来源于stack exchange,提问作者Siver R

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 12:36:19