您的位置:首页 > 其它

用 ISNULL(), NVL(), IFNULL() and COALESCE() 函数替换空值

2016-09-02 09:56 633 查看
在数据库操作中,往往要对一些查询出来的空值进行替换,如函数SUM(),count(*)这个函数如果没有值会返回NULL,无法显示,我们希望显示为0

在MySQL中我们可以这样来写:

[sql] view
plain copy

select IFNULL(sum(data),0) ...  

在SQLSERVER中我们可以这样写:

[sql] view
plain copy

select ISNULL(sum(data),0) ...  

在ORACLE中我们可以这样写:

[sql] view
plain copy

select NVL(sum(data),0) ...  

对于所有数据库适用的方法可以这样写:

[sql] view
plain copy

select COALESCE(sum(data),0) ...  

COALESCE()用法:

[sql] view
plain copy

COALESCE(value,...)  

返回第一个不是null的值,如果参数列表全是null,则返回null

sSELECT COALESCE(NULL,1);

        -> 1

SELECT COALESCE(NULL,NULL,NULL);

        -> NULL

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: