必威体育Betway必威体育官网
当前位置:首页 > IT技术

【Hive】ifnull/nullif = coalesce/if

时间:2019-10-11 06:14:19来源:IT技术作者:seo实验室小编阅读:83次「手机版」
 

nullif

一、说明

hive中没有ifnull/nullif函数

可用以下替代:

- coalesce( value1,value2,… )

- if( value1 is null, value2, value1)

二、举例

hive> select coalesce(col1, col2, cols) as res1, if(col1 is null, if(col2 is null, col3, col2), col1) as res2
    > from(
    >     select 1 as col1, 2 as col2, 3 as col3 
    >     union all
    >     select null as col1, 2 as col2, 3 as col3 
    >     union all
    >     select null as col1, null as col2, 3 as col3 
    >     union all 
    >     select null as col1, null as col2, null as col3
    > ) as test

结果:
    res1   res2
    1      1
    2      2
    3      3
    null   null

相关阅读

Hive入门及常用指令

Hive 最近在公司实习,对hive进行了学习,做了些整理的笔记。 基础命令 show databases; # 查看某个数据库 use 数据库; #

MySql数据库的优化-MySql中is NULL、ISNULL()和IFNULL

在查询过程中,我们经常用到非空和is null的查询,为了更高效的查询,我们应该知道那种方法更快。在上一篇中,我们已经添加了一些数据。

unix_timestamp 时间戳函数用法(hive)

一、unix_timestamp函数用法 1、unix_timestamp() 得到当前时间戳 2、如果参数date满足yyyy-MM-dd HH:mm:ss形式,则可以直接unix

Hive 中HQL中inner join,join, left join,full join区别

表t1 (id , data)数据:1,112, 223, 33表t2 (id, data)数据:1,112, 2244,44---------------------------注意:join默认是inner  join,就

unix_timestamp 时间戳函数用法(hive)

一、unix_timestamp函数用法1)返回当前时间的时间戳select unix_timestamp(); 2)如果参数date满足yyyy-MM-dd HH:mm:ss形式,则可以

分享到:

栏目导航

推荐阅读

热门阅读