配置单元sql中的regexp\u substr等价项?

oipij1gg  于 2021-06-25  发布在  Hive
关注(0)|答案(1)|浏览(381)

早上好。我正在寻找与regexp\u substr相同的配置单元,我在teradata等其他数据库中使用它。
我的具体情况是:我有一个字段有一个字符串。它看起来像这样:

Row1: ABC ACC ADF AFA BAC CAF
Row2: ACC BAC CAG HOL HRR NOM
Row3: ACC ARR BBA CAF LOM NOM

在where子句中,我使用rlike查找字符串的特定部分,例如:
我的字符串像“bac | bba”
我要做的就是返回匹配的部分作为列。所以结果是:

Row1: BAC
Row2: BAC
Row3: BBA

在其他数据库中,我会把它放在select语句中:regexp\u substr(mystring,'(bac | bba)\s*')。 hive 里有没有等效的功能?如果是,语法是什么?
我看过一些不同的配置单元函数,但它们似乎希望字符串每次都在同一个位置,而这里不是这样。但我承认我可能误解了语法。

qyyhg6bp

qyyhg6bp1#

对特殊字符使用regexp\u extract和双斜杠,如\s:

select regexp_extract('ABC ACC ADF AFA BAC CAF','(BAC|BBA)\\s*');

阅读更多关于语法的信息:配置单元语言手册-stringfunctions

相关问题