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

关于Snowflake中to_timestamp将二月转换为一月的问题咨询

问题原因分析:Snowflake to_timestamp 转换二月为一月的问题

你遇到的问题是因为日期格式字符串里的格式符用错了:

  • 在Snowflake的日期格式规则中,MM是用来匹配月份的占位符
  • 而表示分钟需要用MI

你的原语句里,把分钟位置写成了MM,导致函数把时间部分的01当成了月份值,覆盖了原日期的二月(02),最终输出一月的日期。

原代码:

SELECT to_timestamp(to_char('2022-02-02 08:01:29 AM'),'YYYY-MM-DD HH12:MM:SS AM');
-- 2022-01-02 08:00:29.000

修正后的代码,把MM替换为MI:

SELECT to_timestamp(to_char('2022-02-02 08:01:29 AM'),'YYYY-MM-DD HH12:MI:SS AM');
-- 2022-02-02 08:01:29.000

另外补充一点:其实这里to_char是多余的,直接把字符串传给to_timestamp即可,因为原字符串格式符合默认解析规则,简化后的写法:

SELECT to_timestamp('2022-02-02 08:01:29 AM');
-- 2022-02-02 08:01:29.000

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 04:27:36