簡體   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