Hive学习笔记 5 Hive的数据查询、函数
nvl(linename,0) --将某一列为空时转为0
判断是否为null 不能用=null ,而要用 is 或者is not nul
Hive的函数:内置函数、自定义函数
1、数学函数:
round四舍五入:select round(12,345,2) 小数点后2位 round(12.345,0)小数点前一位 round(12.345,-1)小数点前2位
ceil向上取整
floor向下取整
2、字符函数
lower:把字符串转成小写
upper:。。。大写
length:长度
concat:拼加
substr:子串
trim:去掉字符串前后空格
lpad:左填充
rpad:右填充
3、收集函数、转换函数
收集函数size:select size(map(1,'Tom',2,'Marry'))
转换函数cast:select cast('2015-04-10' as date);
4、日期函数
to_date:取出一个字符串中日期的部分
year:取年
month:取月
day:取日
weekofyear:第几周
datediff:两个日期相差的天数
date_add:在日期上加上天数
date_sub:在日期上减去天数
5、条件函数
coalesce:从左到右返回第一个不为Null的值
case ... when... :CASE a WHEN b THEN c [WHEN d THEN e] * [ELSE f] END
select ename,job,sal
case job when 'BOSS' then sal + 1000
when 'MANAGER' then sal + 800
else sal + 400
end
from emp;
6、聚合函数
count
sum
min
max
avg
7、表生成函数
explode:将map等集合生成列
select explode (map(1,'Tom',2,'Java'))
1 Tom
2 Java
8、自定义函数
待更
9、
等值连接、
不等值连接、
外连接,左外连接,右外连接
自连接
10、子查询
hive只支持from 和where的子查询