如何在Athena中从日期字段提取YEARMONTH格式数据
Athena 提取 YEARMONTH 格式的实现方案
Athena 基于 Presto 引擎,你可以通过以下几种方式实现需求:
方法1:使用 date_format 函数(最推荐)
直接通过格式模板指定输出样式,自动处理月份前导零,灵活度最高:
- 输出
YYYYMM纯数字格式(示例:202405):
SELECT date_format(date1, '%Y%m') AS yearmonth FROM table1
- 输出
YYYY-MM带分隔符格式(示例:2024-05):
SELECT date_format(date1, '%Y-%m') AS yearmonth FROM table1
方法2:手动拼接年月
如果需要自定义拼接逻辑,可以搭配 lpad 函数补全月份的前导零:
SELECT concat(cast(year(date1) AS varchar), lpad(cast(month(date1) AS varchar), 2, '0')) AS yearmonth FROM table1
方法3:获取数值类型的 YEARMONTH
如果需要结果为整数而非字符串,可以直接做算术运算:
SELECT year(date1) * 100 + month(date1) AS yearmonth FROM table1
输出为整数格式(示例:202405),适合后续数值计算场景。
注意:以上方法默认你的
date1字段为 DATE/TIMESTAMP 类型,如果是字符串格式的日期,需要先用date_parse或date函数转成日期类型再处理。
内容的提问来源于stack exchange,提问作者Dee
相关产品推荐
相关产品推荐

