Hive学习笔记 5 Hive的数据查询、函数

nvl(linename,0)  --将某一列为空时转为0

判断是否为null 不能用=null ,而要用 is 或者is not nul


Hive学习笔记 5 Hive的数据查询、函数_第1张图片


Hive学习笔记 5 Hive的数据查询、函数_第2张图片

Hive学习笔记 5 Hive的数据查询、函数_第3张图片



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的子查询




你可能感兴趣的:(大数据)