2017-02-21 150 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

谢谢......接受答案,如果它可以帮助您以后参考。 –