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