例如,IP地址 117.136.2.165
想要截取前三组的地址,得到网络地址 117.136.2
在oracle,可以使用如下语句:
select substr('117.136.2.165',1,instr('117.136.2.165','.',1,3)-1)
from dual
;
但是,在hive sql里,instr只有前两个参数,即只能实现
instr('117.136.2.165','.')
这种情况下,可以用正则函数实现目的,代码如下:
select regexp_extract('117.136.2.165','(.*?\\..*?\\..*?)\\..*', 1)
from table_name
或
select regexp_extract('117.136.2.165','(.*?\\..*?\\..*?)\\..*')
from table_name
本文介绍了如何在HiveSQL中使用正则表达式函数regexp_extract来截取IP地址的前三组数字,以获取网络地址。通过具体的代码示例,展示了在Hive中处理字符串数据的有效方法。
3749

被折叠的 条评论
为什么被折叠?



