sql:hive:mysql:函数:NVL、NVL2、NULLIF,IFNULL、Coalesce

hive中:

NVL:

第一个参数为空(注意这里是指null,不是空串)那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值

select NVL(age,9999999 ) from tmp.test

age
2
23
9999999
77
...

 

NVL2:
格式:NVL2(expr1,expr2, expr3)
如果该函数的第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第三个参数的值。

 

Coalesce:

参考:

https://blog.csdn.net/weixin_38750084/article/details/93381327

 

 

 

mysql中:

 

NULLIF:

NULLIF(col1,col2)函数的作用是如果col1和col2相等则返回空(NULL),否则返回第一个值。

示例:

select * from test_regexp

SELECT nullif(valuess,'abadvbnbad') a  FROM test_regexp;

ifnull:

mysql中没有nvl ()函数,使用ifnull代替

第一个参数为空(注意这里是指null,不是空串)那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。

示例:

select * from test_regexp

SELECT ifnull(valuess,'11111') a  FROM test_regexp;

 

 

Coalesce:
select coalesce(null,2,3); // Return 2
select coalesce(null,null,3); // Return 3
select coalesce(1,2,3); // Return 1

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章