1 array(ele1 , ele2...)
创建数组 数组是hive中的一种集合数据类型 和 java中的数组一样
select array(1,2,3,4) ;
select array(1,2,3,4)[0] ;
2 array_contains(arr , element)
查看arr数组中是否含有element字段
select array_contains(array('a','ab','abc','abcd'),'aa') ;
select array_contains(array('a','ab','abc','abcd'),'a') ;
3 upper lower
将字符串转换成大写或者小写
select lower('ABC') ;
select upper('abc');
4 split(str , seq)
切割字符串 返回数组arr
str 字符串
seq 切割规则
select split('hello-word','-');
5 trim(str)
去除字符串首尾的空格
select trim(' hello ');
6 uuid()
生成随机字符串
select uuid();
7 replace(str1,str2,str3)
字符串的替换
str1 字符串
str2 要被替换的字符串
str3 替换成新的字符串
select replace ("helloword","l","q");
8 substr(str ,startind,length)
切割字符串
str 字符串
startind 切割的起始位置
length 切割的长度
select substr('helloword',2,5);
-
substring_index(str, delim, count)
从字符串str返回分隔符delim出现次数之前的子字符串
select substring_index("a-b-c","-",2) ;
9 concat(str1, str2, ... strN)
字符串的拼接 参数是可变参数 拼接字符串
select concat ('aa',',','bbb');
-
concat_ws(separator, [string | array(string)]+)
拼接字符串
separator 拼接符
[string | array(string)]+ 字符串或者数组
select concat_ws('-','a','b','c');
10. collect
-
collect_set
返回消除重复元素的一组对象
-
collect_list
返回具有重复项的对象列表
select
xz,
xx,
collect_list(name)
from
tb_tea
group by xz ,xx;
11. explode(a)
将数组a的元素分隔为多行,或将映射的元素分隔为多行和多列
select
explode(split(typ,','))
from
tb_movie2;