hive函数之字符串操作

586 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第16天,点击查看活动详情

本文继续介绍字符串相关函数,主要涉及对字符串的操作,比如补足、分割、查找等等。

13、space 空字符串函数 作用:返回指定长度的空格

常见使用方法:space(int n)

具体功能说明:这个逻辑比较简单,就是返回指定个数n的空格字符串,自然这个结果的返回类型就是string

select space(  3  );  
>> [空格][空格][空格]

14、repeat 重复字符串函数 作用:重复返回多个字符串

常见使用方法:repeat(string str, int n)

具体功能说明:看这个函数的名称也能知道这个函数作用就是重复,即将str重复叠加n次,展示出来,返回的结果类型也是string

select repeat(  'abc'  ,  3  );  
>> abcabcabc
​

15、ascii 首字符ASCII函数 作用:返回字符串的ascii码

常见使用方法:ascii(string str)

具体功能说明:返回结果是字符串 str 第一个字符的 ascii 码,即返回类型肯定就是int

select ascii(  'abc'  );  
>>   97

16、 lpad/rpad 左补足函数、右补足函数 作用:补齐字符串

常见使用方法:lpad(string str, int len, string pad) ,rpad(string str, int len, string pad)

操作类型:string 描述:将 str 用 pad 进行左补足到 len 位

具体功能说明:lpad函数是在str的基础上,往左边补字符串pad,知道补位长度到了len即可。返回的结果类型也还是string。rpad的功能类似,就是将 str 用 pad 进行右补足到 len 位。

select lpad(  'abc'  ,   10  ,   '#'  );  
>> #######abc   
select rpad(  'abc'  ,   10  ,   '#'  );  
>> abc#######

17、split 分割字符串函数 作用:分割字符串

常见使用方法:split(string str, string pat)

具体功能说明:将一个字符串通过pat这个字符分割开来,汇集在一个字符串数组里面,最后返回的结果类型就是array

select split(  'ab,cd,ef'  ,   ','  );  
>> [  "ab"  ,  "cd"  ,  "ef"  ]

18、find_in_set 集合查找函数 作用:返回指定字符串的位置

常见使用方法:find_in_set(string str, string strList)

具体功能说明:查找str在strList中第一次出现的位置,返回这个位置的索引值,,位置从1开始,如下例子中返回的就是2。strlist就是用逗号分隔的字符串,如果没有找到str,也会返回0。所以返回结果类型是int 。

select find_in_set(  'cd'  ,  '{ab,cd,ef}'  );  
>>   2

\