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
版权声明:本文为博主原创文章,转载请附上博文链接!