首页 > 解决方案 > 需要 regex_extract SQL 查询以返回“开头”和“结尾”某个字符的值

问题描述

我的数据集中有这样的字符串:aaaabbbbccccddddkeyword=dragon&morestuff=123

我需要一个可以提取Dragon的查询。因此查询需要“以”keyword= 和“end with”& 开头,但要修剪keyword= 和末尾的&。它需要返回这两件事之间的所有内容。我知道我需要这样的东西:

选择 regexp_extract(table_name, '[^keyword] [&$]') 作为关键字值

但似乎无法将其组合在一起。我知道 ^ 定义了字符串的开头, $ 定义了结尾,但是查询的格式让我难以理解。

提前谢谢了。

标签: sqlregexstringhive

解决方案


如果您拥有的是格式正确的 HTTP 查询字符串:Hive 具有string functionparse_url()

select parse_url(col, 'QUERY', 'keyword') as k_word
from mytable

推荐阅读