早上好。我正在寻找与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 里有没有等效的功能?如果是,语法是什么?
我看过一些不同的配置单元函数,但它们似乎希望字符串每次都在同一个位置,而这里不是这样。但我承认我可能误解了语法。
1条答案
按热度按时间qyyhg6bp1#
对特殊字符使用regexp\u extract和双斜杠,如\s:
阅读更多关于语法的信息:配置单元语言手册-stringfunctions