SQL系列——IFNULL函数和coalesce函数使用(将查询的字段空值替换成其他值)

相关连接
SQL: coalesce()函数
sql中的if()和ifnull() 的用法和区别

mysql coalesce函数与 ifnull 函数用法

1.fnull(字段, 默认值) :字段如果是null就返回默认值
# fnull(null, a),ifnull(a,b),    ifnull里有两个数,如果第一个不是null,是a非null,就都等于a,  
# 如果a=Null,就都为a。
SELECT IFNULL(NULL,"11"); -> 11
SELECT IFNULL("00","11"); -> 00
# 在thinkphp里面使用
db('表名')->field('IFNULL(字段名,指定的值) as 别名')......................

2.coalesce() 解释:返回参数中的第一个非空表达式(从左向右依次类推); 
# coalesce: 联合,合并。返回传入的参数中第一个非null的值
select coalesce(null,2,3); // Return 2
select coalesce(null,null,3); // Return 3
select coalesce(1,2,3); // Return 1

mysql coalesce函数与 ifnull 函数对比

# coalesce: 联合,合并。返回传入的参数中第一个非null的值
SELECT
	COALESCE (NULL, NULL, 1, 2);
 
# 如果只有两个参数和IFNULL用法一样, 1 , 1 , 1 , NULL
SELECT
	IFNULL(NULL, 1) as ifnull,
	COALESCE (NULL, 1) as coalesceTwo,
	COALESCE (NULL, NULL, 1, 2) as coalesceFour,
	COALESCE (NULL, NULL, NULL, NULL) as coalesceAllNull;
 

SQL系列——IFNULL函数和coalesce函数使用(将查询的字段空值替换成其他值)_第1张图片

你可能感兴趣的:(SQL)