gpt4 book ai didi

hadoop - 如何在 Hive 的 SELECT 语句中提取定界值右侧的字符

转载 作者:可可西里 更新时间:2023-11-01 15:32:45 34 4
gpt4 key购买 nike

我需要提取“/”右侧的所有字符作为选择语句的一部分。

city

America/Chicago

Europe/London

预期输出是

cityname

Chicago

London

这是我的查询,它不起作用

select substring(city, charindex('/',city) +1, length(city)) as cityname from table;

最佳答案

您可以使用正则表达式来提取城市名称。使用正则表达式,您的查询将是这样的。

select regexp_extract(city, '([a-zA-Z]+)', 1) from table_name;

其中 regexp_extract() 是您希望提取的数据的记录/行提取。有关 regexp_extract() 的更多详细信息,请访问 hive LanguageManual+UDF

link 提供正则表达式教程

更新1

输入数据:

Hello/Chicago
101/London
By/America

查询和正则表达式提取/之后的所有内容:

select regexp_extract(city,'.*\/(.*)',1) from tbl_name;

输出:

Chicago
London
America

关于hadoop - 如何在 Hive 的 SELECT 语句中提取定界值右侧的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30059129/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com