一、查看hive的函数库
show functions;
二、查看某个具体的函数
desc function extended 函数名;
三、数学函数
1、log(double base,double a) 简介:底数为base的a的对数,base可以自定义 返回值类型:double
select log(10,100);
--返回2
2、pow(double base,double p) :幂运算
select pow(2,3);
--返回8
3、conv(bigint/string v,int from_base,int to_base)
select conv(13,10,2);
--返回1102
4、pmod(int/double a,int/double b) 简介:取余运算
select pmod(2,4);
--返回2
5、 [a]sin(double/decimal a)/[a]cos(double/decimal
a)/[a]tan(double/decimal a) 简介:正弦余弦和正切函数,中括号的[a]加上之后就是反的
6、degrees(double/decimal a)#弧度转化为角度
radians(double/decimal a)#角度转化为弧度
7、 positive(int/double a)#返回数字本身
select positive(-10);
--返回-10
8、negative(int/double a):返回相反数
select negative(10);
--返回-10
9、e():自然对数
select e();
--返回2.718281828459045
10、pi():圆周率
select pi();
--返回3.141592653589793
11、greatest(T…vs):横向找出最大值
select greatest(1,4,10,-1);
--返回10
12、least(T…vs):横向找出最小值
select least(-10,2,-13);
--返回-13
13、在1.0版本目前没有
bround(a,b)#财务舍入法,对小数5的处理,四舍六入五取偶
factorial(a)#int 20以内的阶乘,只能在20以内
shiftleft(a,b)#位左移
shiftright(a,b)#位右移
四、集合函数
1、 size(Map<K,V>/Array),求map或array的长度,返回值是int。struct结构体是不可以使用size的
select size(hobbies) from clientinfo01;

2、map_keys(Map<K,V>),获取map里的键,返回值是存放所有键的数组
select map_keys(deliveryadd) from clientinfo1;

3、map_values(Map<K,V>),获取map里的值,返回值是存放所有值的数组
select map_values(deliveryadd) from clientinfo01;

4、array_contains(Array,T),判断参数1的数组里是否包含参数2的元素,返回布尔值
select array_contains(array(1,2,3),2);

5、sort_array(Array),对参数里的数组进行排序,从小到大
select sort_array(array('b','a','m','c'));

五、类型转换函数
1、cast(expr as )把expr转换为新的type类型,比如说在使用concat函数时,需要把数字类型的字段转换为字符串类型的
select cast(1 as float);

select cast(trim(

最低0.47元/天 解锁文章
6万+

被折叠的 条评论
为什么被折叠?



