HIVE获取时间函数, regexp_extract正则提取用法

Hive获取时间函数

regexp_replace(date_add(from_unixtime(unix_timestamp(), "yyyy-MM-dd") , -1), '-','')

 

regexp_extract函数:

regexp_extract( str,  regexp[, idx] ) - extracts a group that matches regexp

字符串正则表达式解析函数。

-- 这个函数有点类似于 substring(str from 'regexp')  ..

参数解释:

str是被解析的字符串

regexp 是正则表达式

idx是返回结果 取表达式的哪一部分  默认值为1。

0表示把整个正则表达式对应的结果全部返回

1表示返回正则表达式中第一个() 对应的结果 以此类推 

注意点:

要注意的是idx的数字不能大于表达式中()的个数。

否则报错:

实例:

如:

select regexp_extract('x=a3&x=18abc&x=2&y=3&x=4',  'x=([0-9]+)([a-z]+)',    0)   from default.dual;

结果为:

x=18abc

select regexp_extract('x=a3&x=18abc&x=2&y=3&x=4','x=([0-9]+)([a-z]+)',1) from default.dual;

得到的结果为:

18

select regexp_extract('x=a3&x=18abc&x=2&y=3&x=4','x=([0-9]+)([a-z]+)',2) from default.dual;

得到的结果为:

abc

我们当前的语句只有2个()表达式 所以当idx>=3的时候 就会报错
--------------------- 
作者:oO寒枫Oo 
来源:CSDN 
原文:https://blog.csdn.net/lxpbs8851/article/details/39202735 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值