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

原文地址:http://www.cnblogs.com/codewater/articles/1765009.html

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


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

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

在SQLSERVER中我们可以这样写:

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

在ORACLE中我们可以这样写:

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

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

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

COALESCE()用法:

 COALESCE(value,...)

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


sSELECT COALESCE(NULL,1);
        -> 1


SELECT COALESCE(NULL,NULL,NULL);
        -> NULL

你可能感兴趣的:(数据库)