AWS Athena如何基于age列使用SQL计算并输出出生日期
原有查询问题说明
你写的查询存在两处错误:
- 语法错误:Athena 不支持直接将列名放在
interval关键字后拼接单位的写法 - 逻辑错误:你使用了
day作为时间单位,相当于减去年龄对应的天数,和你需要的减去年龄对应年数的需求完全不符
正确实现方案
如果你的表中年龄列的列名为age,使用如下查询即可:
SELECT date_add('year', -age, current_date) AS 出生日期 FROM table_name;
如果建表时年龄列沿用了中文列名年龄,则需要用双引号包裹中文列名:
SELECT date_add('year', -"年龄", current_date) AS 出生日期 FROM table_name;
注:仅靠年龄字段只能算出当前日期减去对应年数的近似出生日期,如果需要精准到天的结果,需要补充出生月日相关数据。
内容的提问来源于stack exchange,提问作者sudhir
相关产品推荐
相关产品推荐

