coalesce :返回参数(列名)中第一个非NULL值的字段值

示例 
下面的语句返回值 34。(只返回一个值就算后面不为NULL也直接丢弃) 
SELECT COALESCE( NULL, 34, 13, 0 ) 
备注 
如果所有参数均为 NULL,则 COALESCE 返回 NULL。 

SELECT bi.id,
bp.id AS blockpositionid,
COALESCE(bp.region, bi.defaultregion) AS region,
COALESCE(bp.weight, bi.defaultweight) AS weight,
COALESCE(bp.visible, 1) AS visible,
bi.configdata
FROM {block_instances} bi
LEFT JOIN {block_positions} bp ON bp.blockinstanceid = bi.id
AND ".$DB->sql_like('bp.pagetype', ':pagetype', false)."
WHERE bi.blockname = 'progress'
AND bi.parentcontextid = :contextid
ORDER BY region, weight, bi.id
原文地址:https://www.cnblogs.com/lichihua/p/6646556.html