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

Snowflake无法识别格式为2022-01-02T12:30:30.471395746-06的时间戳

解决方案:识别带小时级时区偏移的时间戳

你的问题出在时间戳格式未包含时区偏移部分,目标时间戳2022-01-02T12:30:30.471395746-06末尾的-06是小时级时区偏移,而你之前设置的timestamp_input_format只定义到了微秒(FF9),缺少时区偏移的格式标识。

方法1:修改会话级时间戳格式

更新timestamp_input_format,在末尾添加TZH(表示时区小时偏移):

alter session set timestamp_input_format = 'YYYY-MM-DD"T"HH24:MI:SS.FF9TZH';
alter session set timestamp_output_format = 'YYYY-MM-DD"T"HH24:MI:SS.FF9TZH';

select s.$1, s.$2, to_timestamp_tz(s.$3), s.$4, s.$5
from @my_stage s limit 10;

方法2:在函数内直接指定格式(无需修改会话)

如果不想修改全局会话参数,可以在to_timestamp_tz函数中显式传入匹配的格式字符串,更灵活:

select s.$1, s.$2, to_timestamp_tz(s.$3, 'YYYY-MM-DD"T"HH24:MI:SS.FF9TZH'), s.$4, s.$5
from @my_stage s limit 10;

补充说明

  • TZH用于匹配±HH格式的时区偏移(如-06、+08);如果你的时间戳有时区分钟偏移(如-06:30),则需要用TZH:TZM。
  • FF9已经正确匹配了9位小数的微秒部分,这部分无需调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 21:05:17