繁体   English   中英

Hive - 在字符串/行中的任意位置找到 2 个字符 - RLIKE

[英]Hive - find 2 characters anywhere in the string/row - RLIKE

如何获取仅分配给“USA_RBB_WA_BU”的“_WA”数据的数据? 但是,我查看的列包含包含 _WA 和 _SA (USA_CA_SAWANT) 的行

我用了,

                        select....
                         'USA_RBB_WA_BU' AS State ,
                         District 
                         from TABLE where district like '%_WA%'


                        select   ...
                         'USA_RBB_NSW_BU' AS State ,
                         District 
                         from TABLE where district like '%_SA%'

但是我最终得到了下面的数据输出表

**state                  district**
USA_RBB_NSW_BU          USA_CA_SAWANT
USA_RBB_WA_BU           USA_CA_SAWANT
USA_RBB_NSW_BU          USA_CA_SAWANT
USA_RBB_WA_BU           USA_CA_SAWANT

我试过

                        select....
                         'USA_RBB_WA_BU' AS State ,
                         District 
                         from TABLE where district like '_WA%'

                         output was  was 0 results in hive

where district rlike '_WA'将正常工作(如果字符串包含 _WA,这将返回 TRUE)

如果您希望字符串在_WA之前和之后包含某些内容,请添加.+ (任何字符一次或多次):

where district rlike '.+_WA.+'

我猜你正在寻找逃避_在这里。 试试下面 -

SELECT <FIELD_LIST>
       'USA_RBB_WA_BU' AS State ,
       District 
FROM TABLE
WHERE district RLIKE '.*_WA%'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM