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;
 

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章