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

Snowflake中如何将Jan 1 2019 12:00AM格式字符串转为时间戳?

Snowflake时间戳格式转换问题解决方法

你的SQL报错是因为格式串和输入字符串不匹配,核心问题有两点:

  • 输入是带AM的12小时制时间,你用了HH24(24小时制格式符),无法识别AM/PM标识;
  • 输入时间只有小时和分钟,格式串里多余了:SS部分。

正确转换语句

如果只是要转成timestamp类型:

SELECT TO_TIMESTAMP('Jan 1 2019 12:00AM', 'MON DD YYYY HH12:MIAM')
FROM tablename;

如果需要固定输出YYYY-MM-DD HH24:MI:SS格式的字符串,需要先转成timestamp再格式化:

SELECT TO_CHAR(
    TO_TIMESTAMP('Jan 1 2019 12:00AM', 'MON DD YYYY HH12:MIAM'),
    'YYYY-MM-DD HH24:MI:SS'
) AS formatted_timestamp
FROM tablename;

额外注意事项

  • HH12用于匹配12小时制小时数,AM匹配上午/下午标识;
  • 单数字日期(如1)用DD格式符即可自动识别,无需调整;
  • 如果会话日期语言非英文,需指定语言参数:
SELECT TO_TIMESTAMP('Jan 1 2019 12:00AM', 'MON DD YYYY HH12:MIAM', 'en')
FROM tablename;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 05:20:00