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

Athena(SQL) 转换9/29/2021 2:36:32 PM格式字符串为Timestamp报错如何解决

解决方案

报错根因

  • 非法格式符问题:Athena的parse_datetime函数遵循Java DateTimeFormatter格式规范,不存在%i这个表示分钟的模式符,你误用了其他SQL方言的格式规则
  • 分隔符不匹配:原始时间字符串的日期部分用斜杠/分隔,你编写的模式串用了横杠-,无法匹配
  • 小时制不匹配:原始时间带PM/AM标识属于12小时制,你使用的%H是24小时制格式符,即使解决前两个问题也会出现时间解析错误

正确写法

直接使用如下语句即可完成转换,返回结果就是Timestamp类型:

parse_datetime(end_timestamp_t, '%M/%d/%Y %h:%m:%s %p')

各格式符对应说明:

  • %M:无前导零的月份,匹配示例中的9
  • %d:日期,匹配示例中的29
  • %Y:4位年份,匹配示例中的2021
  • %h:12小时制无前导零的小时,匹配示例中的2
  • %m:分钟,匹配示例中的36
  • %s:秒,匹配示例中的32
  • %p:AM/PM标识,匹配示例中的PM

备选方案

如果习惯使用类MySQL的格式符,也可以用date_parse函数实现相同效果:

date_parse(end_timestamp_t, '%c/%e/%Y %h:%i:%s %p')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 13:15:03