众所周知,Hive中有许多函数…
什么聚合函数、开窗函数,数学函数,时间函数等等…
所以今天我就来总结一下Hive中常用的函数,以便日后方便查询!
聚合函数
【1】count(返回行数): count(*)\count(1)\count(常量)
【2】sum(组内某列求和) sum(num)
忽略null值
【3】min(组内某列最小值): min(num/str)
忽略null值
【4】max(组内某列最大值): max(num/str)
忽略null值
【5】avg(组内某列平均值) avg(num)
忽略null值
开窗函数
数学函数
【1】round(四舍五入): round(num , 取小数点多少位)
【2】ceil(向上取整): ** ceil(num)
【3】floor(向下取整): floor(num)
【4】weekofyear(返回输入日期在该年中是第几个星期): weekofyear(str/date)
【5】datediff(两个日期相减,返回相差天数): datediff(date1/st1,date2/str2)
【6】date_add(在一个日期基础上增加天数): date_add(date/str,num)
【7】date_sub(在一个日期基础上减去天数): date_sub(date/str,num)
时间函数
【1】to_date(取出日期部分): to_date(str/date)
例 —》 select to_date(“2020-01-02 10:22:33”);
【2】year、month、day(从一个日期中取出相应的年、月、日): year(str/date)
month(str/date)
day(str/date)
字符函数
【1】lower(转小写):lower(str)
【2】upper(转大写): upper(str)
【3】length(字符串长度,字符数):length(str)
【4】concat(字符串拼接): concat(str1, str2, ... strN)
【5】concat_ws(字符串拼接): concat_ws(separator, [string | array(string)]+)
【5】substr(求子串):
- substr(str,a):
从字符串str中,第a位开始取,取右边所有的字符
- substr(str,a,b):
从字符串str中,第a为开始取,取b个字符
注意:空格算占用一个字符的空间
【6】trim(去前后空格): trim(str)
【7】lpad(左填充): lpad(str,字符串总长度,从左填充的内容)
【8】rpad(右填充): rpad(str,字符串总长度,从右填充的内容)
size:返回map集合的个数
格式:size(map(<key,value>,<key,value>))
转换函数
【1】cast(转换数据类型): cast(原始数据 as 转换成的类型)
例 —》 cast(“2020-01-02” as Date)
条件函数
【1】coalesce(从左到右返回第一个不为null的值):
【2】case…when…(条件表达式): case A when B then C [when D then E]* [else F] end
表生成函数
【1】explode(将)