1.coalesce,nvl
coalesce(expression_1, expression_2, ...,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。
nvl(expr1,expr2)
2.split,substr
split('abcdef', 'c') 结果:["ab", "def"]
split('abcdef', 'c')[0] 结果:ab
substr(string,1,3) 取string左边第1位置起,3字长的字符串。
所以结果为: str
substr(string,-1,3) 取string右边第1位置起,3字长的字符串。显然右边第一位置起往右不够3字长。结果只能是: g
substr(string ,4) 从右第4位置截取到最后。结果是: ing
3.greatest,least
greatest(col_a, col_b, ..., col_n)比较n个column的大小,但是当某个column中是string,而其他是int/double/float等时,或者存在null时,返回null。least返回最小值。
select greatest(-1, 0, 5, 8) --8
select greatest(-1, 0, 5, 8, null) --null
select greatest(-1, 0, 5, 8, "dfsf") --null
select greatest("2020-02-26","2020-02-23","2020-02-22") --2020-02-26
4.grouping sets
Hive之grouping sets用法及grouping_id计算方法_HappyRocking的专栏-CSDN博客
Hive 多分组函数GROUPING SETS,GROUPING__ID,CUBE,ROLLUP_大数据技术分享-CSDN博客
5. order,sort,distribute,cluster by
Hive中order、sort、distribute、cluster by区别与联系 - 知乎
6.hive中null值和空值关联
空值可以关联. null值关联不上,关联的表的字段会为null.