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

 

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