码迷,mamicode.com
首页 > 其他好文 > 详细

Hive常用字符串操作函数

时间:2019-06-16 14:04:45      阅读:544      评论:0      收藏:0      [点我收藏+]

标签:text   eve   tom   串操作   java正则表达式   www   top   oracl   lap   

? ?

返回类型

函数名

描述

int

length(string A)

返回字符串A的长度

select length(weoirjewo);
select length(name) from stu;

此函数在实际工作,可以用于校验手机号,身份号等信息的合法性

string

reverse(string A)

返回字符串A的反转结果

select reverse(‘abcd‘);
select length(name) from stu;

string

concat(string A, string B…)

字符串连接函数

select concat (‘a‘,‘b‘);

select concat(id,name) from stu;

select concat(id,‘,‘,name) from stu;

??

string

concat_ws(string SEP, string A, string B…)

带分隔符字符串连接函数:concat_ws
select concat_ws(‘.‘,‘www‘,‘baidu‘,‘com‘); //www.baidu.com

string

substr

substr,substring
select substr(‘abcde‘,2);从第二个截,截到结尾
select substr(‘abcde‘,1,3);从第一个截,截三个长度
select substr(‘wfeww‘,-2);从尾部截,截两个长度

可以用于比如截取身份证后几位操作

string

upper(string a)
ucase(string a)

转大写
?

string

lower(string a)
lcase(string a)

转小写

string

trim(string a)

去空格
select trim (‘ fwoei ‘);

string

ltrim(string a)

左边去空格函数

string

rtrim(string a)

右边去空格函数

string

regexp_replace(string A, string B, string C)

将字符串A中的符合java正则表达式B的部分替换为C。注意,在有些情况下要使用转义字符,
对需要转义的字符,用[],比如[*],类似oracle中的regexp_replace函数。

? ?

select regexp_replace(‘foobar‘, ‘oo|ar‘, ‘‘);

??

string

regexp_extract(string subject, string pattern, int index)

将字符串subject按照pattern正则表达式的规则拆分,返回index指定的字符
select regexp_extract(‘foothebar‘, ‘foo(.*)(bar)‘, 1); //the
select regexp_extract(‘foothebar‘, ‘foo(.*)(bar)‘, 2);//bar
select regexp_extract(‘foothebar‘, ‘foo(.*)(bar)‘, 0);//全取 foothebar
?

string

repeat(string str, int n)

返回重复n次后的str字符串
select repeat(‘abc‘,5)

array

split(string str, string pat)

分割字符串函数: split
按照pat字符串分割str,会返回分割后的字符串数组
select split(‘abtcdtef‘,‘t‘);
["ab","cd","ef"]

?

Hive常用字符串操作函数

标签:text   eve   tom   串操作   java正则表达式   www   top   oracl   lap   

原文地址:https://www.cnblogs.com/shuzhiwei/p/11031187.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!