COALESCE()函数的作用
MySQL的COALESCE()函数用于返回参数列表中的第一个非null表达式的值,并且支持多个参数。当第一个参数为null时,函数会返回下一个非null参数的值,直到找到一个非null参数为止。如果所有参数都为null,则返回null。
COALESCE()函数的使用方法
语法:COALESCE(value1, value2, ....)
其中,value1, value2, ... 是要查找的值的列表,可以有多个参数。下面给出一个简单的实例:
实例1:返回第一个非空值
SELECT COALESCE(NULL, NULL, 'A', NULL, 'B');
输出结果为:A
解释:函数会从第一个参数开始查找,遇到null则继续查找,直到找到非null值'A'。
实例2:使用COALESCE()函数实现多条件查询
假设我们有一个商品表goods_info,包括商品id(goods_id)、品牌(brand)、名称(name)、颜色(color)、尺寸(size)、价格(price)等字段。现在我们希望查询id为1的商品信息,如果商品颜色不为null则显示颜色,否则显示尺寸。
SELECT goods_id, brand, name, COALESCE(color, size) as attribute, price
FROM goods_info WHERE goods_id = 1;
输出结果为:
goods_id | brand | name | attribute | price
-------------------------------------------------
1 | Nike | Sneakers | Red | $50
解释:使用COALESCE()函数将color和size字段组合成attribute字段,如果color不为null则attribute为color,否则为size。最终查询结果显示商品id、品牌、名称、组合后的attribute、价格五个字段。