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

AWS Athena中ddmmyyyyhhmmss格式BIGINT转datetime方法

在AWS Athena中将ddmmyyyyhhmmss格式的BIGINT数值解析为日期时间类型

你遇到的问题是因为from_unixtime用于解析Unix时间戳(从1970-01-01 UTC开始的秒数),而你的数值是ddmmyyyyhhmmss格式的日期时间转成的数字,并非Unix时间戳,所以无法用该函数得到正确结果。

可以通过以下步骤在Athena中完成解析:

  1. 将BIGINT转为字符串:日期解析函数需要字符串输入,先用cast函数转换类型。
  2. 补全前导零(可选但推荐):如果数值长度不足14位(比如日/月为个位数时,原数字会少一位),用lpad函数在左侧补零,确保格式为完整的14位ddmmyyyyhhmmss。
  3. 使用date_parse解析:指定对应的格式模板'%d%m%Y%H%i%s',其中:
    • %d:两位日期(01-31)
    • %m:两位月份(01-12)
    • %Y:四位年份
    • %H:24小时制的小时(00-23)
    • %i:两位分钟(00-59)
    • %s:两位秒数(00-59)

示例SQL

-- 直接解析完整14位数值
SELECT date_parse(cast(10062019192751 AS varchar), '%d%m%Y%H%i%s') AS parsed_datetime;

-- 处理可能不足14位的数值(补前导零)
SELECT date_parse(lpad(cast(your_bigint_column AS varchar), 14, '0'), '%d%m%Y%H%i%s') AS parsed_datetime
FROM your_table;

执行上述语句后,示例数值10062019192751会被正确解析为2019-06-10 19:27:51。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 09:53:00