相關連接
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;