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

Snowflake中提取转换JSON内Datetime字段结果异常如何解决

问题原因

未给to_timestamp()函数指定输入字符串的匹配格式,Snowflake会默认将纯数字组成的时间字符串识别为Unix纪元时间戳(单位为秒或毫秒),因此会返回2606年这类不符合预期的远时间结果。

正确转换方案

你的Datetime字段格式为YYYYMMDDHH24MISS(年4位、月2位、日2位、小时2位、分钟2位、秒2位),直接在to_timestamp中指定对应格式模板即可:

select distinct to_timestamp(a.value, 'YYYYMMDDHH24MISS') 
within group(order by to_timestamp(a.value, 'YYYYMMDDHH24MISS')) 
from orders a
可选优化建议
  • 如果提取得到的a.value字段存在首尾多余空格,可先通过trim()处理后再转换,避免格式匹配报错:
    to_timestamp(trim(a.value), 'YYYYMMDDHH24MISS')
    
  • 若存在部分行的字段值不符合格式规则的情况,可以替换为try_to_timestamp()函数,不符合格式的行将返回NULL而不会中断整个查询。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 23:48:03