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"]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM