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

 

 在数据库操作中,往往要对一些查询出来的空值进行替换,如函数SUM(),这个函数如果没有值会返回NULL,这是我们不希望看到的,

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

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

 

在SQLSERVER中我们可以这样写:

selectISNULL(sum(data),0) ...

 

在ORACLE中我们可以这样写:

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

  

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

selectCOALESCE(sum(data),0) ...

COALESCE()用法:

 COALESCE(value,...)

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

sSELECT COALESCE(NULL,1);
        -> 1

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

 





 在数据库操作中,往往要对一些查询出来的空值进行替换,如函数SUM(),这个函数如果没有值会返回NULL,这是我们不希望看到的,

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

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

 

在SQLSERVER中我们可以这样写:

selectISNULL(sum(data),0) ...

 

在ORACLE中我们可以这样写:

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

  

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

selectCOALESCE(sum(data),0) ...

COALESCE()用法:

 COALESCE(value,...)

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

sSELECT COALESCE(NULL,1);
        -> 1

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