用 ISNULL(), NVL(), IFNULL() and COALESCE() 函数替换空值
在MySQL中这样来写:
select IFNULL(exp1,exp2)
select IFNULL(sum(data),0)//如果sum(data)为NULL,则返回0,否则返回本身
如果exp1为NULL,则返回exp2
在SQLSERVER中这样写:
select ISNULL(sum(data),0)
在ORACLE中这样写:
select NVL(sum(data),0)
对于所有数据库适用的方法这样写:
select COALESCE(sum(data),0)
COALESCE()用法:
COALESCE(value,...)
返回第一个不是null的值,如果参数列表全是null,则返回null
SELECT COALESCE(NULL,1);
-> 1
SELECT COALESCE(NULL,NULL,1,3)
->1
SELECT COALESCE(NULL,NULL,NULL);
-> NULL