如何获取蜂巢中的数字?

时间:2016-08-31 10:05:30

标签: sql hive

该字段的一个示例是表中的“/ products / 106017388”。

我应该编写什么SQL查询来从字段中获取数字106017388。

非常感谢。

3 个答案:

答案 0 :(得分:2)

您可以尝试hive功能regexp_extract

这样的东西
select regexp_extract(field_name, "([0-9]+)$", 1) from table_name;

Regular expression visualization

Debuggex Demo有关正则表达式([0-9]+)$

的说明

Documentation

答案 1 :(得分:1)

您可以在配置单元中使用split命令来提取所需的值。如下所示;

select * from test_stackoverflow;
1     /products/106017388
2     /products1/06017388
Time taken: 0.66 seconds, Fetched: 2 row(s)


  select split(value,'[/]')[2] from test_stackoverflow;
  OK
  106017388
  06017388
  Time taken: 0.105 seconds, Fetched: 2 row(s)

希望这有帮助!

答案 2 :(得分:0)

SUBSTR('/products/106017388',11)

只获取整数部分..