2017-02-21 140 views
0

我有一列是event_list。所以我想提取20220=之後的數字。該值將包含.,但我只能得到.之前的值。如何使用regexp_extract提取Hive中的十進制數字

我當前的查詢是

regexp_extract(event_list, '20220=([0-9]+)', 1) 

的EVENT_LIST柱就像 enter image description here

+0

它改變到' '20220 =([0-9] + \。[0-9] +),''..如果總是會有一個小數 –

回答

0
hive> select regexp_extract(',211,253,20219,20220=27.87,20222,20223','20220=([^,]*)',1); 

27.87 

hive> select regexp_extract(',211,253,20219,20220=27.87,20222,20223','20220=(.*?),',1); 

27.87 
0

嘗試使用: -

regexp_extract(event_list,'20220=([0-9.]+)', 1) 

如果你想,後的數據也再使用它也是在正則表達式如下所示: -

regexp_extract(event_list,'20220=([0-9.,]+)', 1) 
+0

非常感謝! –

+0

謝謝......接受答案,如果它可以幫助您以後參考。 –

相關問題