SQL 中空值转化函数 nvl(),ifnull(),isnull(),COALESCE()

在做SQL查询时,应当非常注意空值 ,例如,三个值相加,其中有一个是空值:

select 1+null+2;

— 返回 null

显然,这不是你想要的结果,多值相加情况下,或许你应该将空值转化成 0 。


Oracle 中 nvl()

语法:NVL(表达式1,表达式2);

含义:如果表达式1值为空,就返回表达式2;

示例:

select 1+nav(null,0)+2;

— 返回3


MySQL中 ifnull

语法:IFNULL(表达式1,备选值);

含义:如果表达式1为空,就返回备选值;

示例:

select ifnull(null,’www.mzh.ren’)

— 返回 www.mzh.ren


MySQL 中COALESCE

COALESCE() 函数的作用是返回列表中第一个不为空的值,

如:

SELECT COALESCE(NULL, NULL, NULL, ‘www.mzh.ren’, NULL, ‘贸易战’);

返回值为:

www.mzh.ren


SQL Server 中的 ISNULL

语法:ISNULL(check_expression,replacement_value)

含义:如果表达式1为空,就返回备选值;

参考资料:

https://www.w3schools.com/sql/sql_isnull.asp

码中人 微信公众号

关注微信公众号

码中人 微信公众号