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

求助:AWS Athena中如何转换指定格式的时间戳?

AWS Athena 时间戳字符串格式转换方案

针对你提到的原始时间戳字符串20220826T073200Z,可以通过Athena支持的日期函数组合完成格式转换,直接用下面的SQL语句即可:

SELECT 
  date_format(
    date_parse(your_column_name, '%Y%m%dT%H%i%sZ'), 
    '%Y-%m-%d %H:%i:%s'
  ) AS formatted_timestamp
FROM your_table_name;

函数说明

  • date_parse:按照指定格式将字符串解析为timestamp类型。这里的格式串%Y%m%dT%H%i%sZ完全匹配原始字符串的结构:
    • %Y:4位年份,%m:2位月份,%d:2位日期
    • T:原始字符串中的固定分隔字符,直接写入格式串
    • %H:24小时制的小时,%i:分钟,%s:秒
    • Z:原始字符串中的固定时区标识,直接写入格式串
  • date_format:将解析后的timestamp类型转换为你需要的YYYY-MM-DD HH:MM:SS格式。

处理脏数据

如果你的列中存在不符合该格式的异常数据,使用try()包裹date_parse可以避免查询失败,异常数据会返回NULL:

SELECT 
  date_format(
    try(date_parse(your_column_name, '%Y%m%dT%H%i%sZ')), 
    '%Y-%m-%d %H:%i:%s'
  ) AS formatted_timestamp
FROM your_table_name;

分区列说明

因为该列是分区列,如果你只是查询时需要转换后的格式,直接用上面的语句即可;如果需要修改分区列的存储格式,则需要重新定义分区(ALTER TABLE ADD PARTITION),不过通常查询时动态转换是更简便的方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 06:10:50