Hive常用字符串操作函数

Posted shuzhiwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hive常用字符串操作函数相关的知识,希望对你有一定的参考价值。

? ?

返回类型

函数名

描述

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常用字符串操作函数的主要内容,如果未能解决你的问题,请参考以下文章

Hive 常用函数

Hive中常用的字符串操作

hive函数--01--常用函数介绍

Hive函数

Hive的数据类型

Hive-数据类型