如何在AWS Athena中使用SELECT *时替换指定列值为0?
在AWS Athena中实现SELECT *同时替换指定列值
可以实现,AWS Athena支持两种简洁的语法来解决这个问题,不用手动列出所有列:
方法一:使用* REPLACE(推荐,保持原列顺序)
这种方法会保留原表所有列的顺序,仅替换指定列的值,是最直接的方案:
SELECT * REPLACE (0 AS column_to_set) FROM tbl;
* REPLACE语法会遍历原表所有列,将指定的column_to_set列的值替换为0,其他列完全保留原样。
方法二:使用* EXCEPT(灵活调整列位置)
如果需要将替换后的列放到结果集末尾,可以用这个语法:
SELECT * EXCEPT (column_to_set), 0 AS column_to_set FROM tbl;
* EXCEPT (column_to_set)会返回除目标列外的所有列,再手动追加替换后的列到结果末尾。
这两种语法都基于Athena底层的Presto/Trino引擎扩展,完全适配Athena的查询环境。
内容的提问来源于stack exchange,提问作者Dyson
相关产品推荐
相关产品推荐

