首页 > 代码库 > Hive基础之COALESCE用法
Hive基础之COALESCE用法
语法: COALESCE(T v1, T v2, …)
返回参数中的第一个非空值;如果所有值都为NULL,那么返回NULL
以emp表为例:
desc emp;empno int None ename string None job string None mgr int None hiredate string None sal double None comm double None deptno int None
select * from emp;7369 SMITH CLERK 7902 1980-12-17 800.0 NULL 207499 ALLEN SALESMAN 7698 1981-2-20 1600.0 300.0 307521 WARD SALESMAN 7698 1981-2-22 1250.0 500.0 307566 JONES MANAGER 7839 1981-4-2 2975.0 NULL 207654 MARTIN SALESMAN 7698 1981-9-28 1250.0 1400.0 307698 BLAKE MANAGER 7839 1981-5-1 2850.0 NULL 307782 CLARK MANAGER 7839 1981-6-9 2450.0 NULL 107788 SCOTT ANALYST 7566 1987-4-19 3000.0 NULL 207839 KING PRESIDENT NULL 1981-11-17 5000.0 NULL 107844 TURNER SALESMAN 7698 1981-9-8 1500.0 0.0 307876 ADAMS CLERK 7788 1987-5-23 1100.0 NULL 207900 JAMES CLERK 7698 1981-12-3 950.0 NULL 307902 FORD ANALYST 7566 1981-12-3 3000.0 NULL 207934 MILLER CLERK 7782 1982-1-23 1300.0 NULL 10
comm字段有空值(NULL)
select empno,ename,job,mgr,hiredate,sal, COALESCE(comm, 0),deptno from emp;7369 SMITH CLERK 7902 1980-12-17 800.0 0.0 207499 ALLEN SALESMAN 7698 1981-2-20 1600.0 300.0 307521 WARD SALESMAN 7698 1981-2-22 1250.0 500.0 307566 JONES MANAGER 7839 1981-4-2 2975.0 0.0 207654 MARTIN SALESMAN 7698 1981-9-28 1250.0 1400.0 307698 BLAKE MANAGER 7839 1981-5-1 2850.0 0.0 307782 CLARK MANAGER 7839 1981-6-9 2450.0 0.0 107788 SCOTT ANALYST 7566 1987-4-19 3000.0 0.0 207839 KING PRESIDENT NULL 1981-11-17 5000.0 0.0 107844 TURNER SALESMAN 7698 1981-9-8 1500.0 0.0 307876 ADAMS CLERK 7788 1987-5-23 1100.0 0.0 207900 JAMES CLERK 7698 1981-12-3 950.0 0.0 307902 FORD ANALYST 7566 1981-12-3 3000.0 0.0 207934 MILLER CLERK 7782 1982-1-23 1300.0 0.0 10
注意观察comm字段的值。
Hive基础之COALESCE用法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。