如何使用regexp_extract在Hive中提取带小数的数字

时间:2017-02-21 01:24:16

标签: sql hive hiveql

我的列是event_list。所以我想在20220=之后提取数字。该值将包含.,但我只能获得.之前的值。

我当前的查询是

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

event_list列就像 enter image description here

2 个答案:

答案 0 :(得分:0)

尝试使用: -

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

如果您想要,之后的数据,那么也可以在正则表达式中使用它,如下所示: -

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

答案 1 :(得分: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