Athena SPLIT_PART 最后一个元素

3

我在从ATHENA查询的no-sql json提取中没有规范化字段。

我想要获取我的字段的最后一个值。

字段示例:

Raleigh, NC, USA
Frankfurt, Germany

在我的想法中,我希望像这样选择最后一个元素:
SPLIT_PART(city, ',' , last_element ) AS country

我不确定我是否使用了正确的函数来执行此操作。

额外奖励:如何选择具有类似值的字段,而不会引发 SQL 错误? :)

2个回答

2

如果不使用split_part(),而是将AWS Athena的split()element_at()函数组合在一起使用,就可以得到所需的结果。

ELEMENT_AT(SPLIT(city, ','),-1) AS country

如果想要了解更多有关 element_at() 函数的内容,请参考 此文档。 如果想要了解更多有关 split() 函数的内容,请参考 此文档


2
您可以使用regexp_extract()函数:
select regexp_extract(city, '[^ ,]+$')

这将返回 city 中最后一组不包含空格或逗号的字符串,也就是你所要查找的最后一个元素。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接