hive---常用內建函式總結
阿新 • • 發佈:2019-01-08
數學函式:
round(四捨五入):
ceil(向上取整):
floor(向下取整):
上面的結果變為45
字元函式:
lower(轉小寫):
upper(轉大寫):
length(字串長度,字元數):
concat(字串拼接):
substr(求子串):
substr(a,b):從字串a中,第b位開始取,取右邊所有的字元
substr(a,b,c):從字串a中,第b為開始取,取c個字元
注意:空格算佔用一個字元的空間
trim(去前後空格):
lpad(左填充):
rpad(右填充):
收集函式:
size:返回map集合的個數
格式:size(map(<key,value>,<key,value>))
轉換函式:
cast:轉換資料型別
日期函式:
to_date:從一個字串中取出為日期的部分
year、month、day:從一個日期中取出相應的年、月、日
weekofyear:返回輸入日期在該年中是第幾個星期
datediff:兩個日期相減,返回相差天數
date_add:在一個日期基礎上增加天數
date_sub:在一個日期基礎上減去天數
條件函式:
coalesce:從左到右返回第一個不為null的值
case...when...:條件表示式
語法格式:case A when B then C [when D then E]* [else F] end
解釋:對於A來說,如果判斷為B則返回C,如果判斷為D則返回E(此處判斷條件可為多個),如果以上都不是則返回F。注意,最後還有還有一個end結束符。
執行結果:
聚合函式:
count:返回行數
sum:組內某列求和
min:組內某列最小值
max:組內某列最大值
avg:組內某列平均值
以工資sal為例:
select count(*),sum(sal),max(sal),min(sal),avg(sal) from emp;
表生成函式:
explode:把map集合中每個鍵值對或陣列中的每個元素都單獨生成一行的形式