mysql COALESCE
时间: 2025-01-15 16:57:06 浏览: 58
### MySQL COALESCE 函数详解
COALESCE 是 SQL 中的一个标准函数,在 MySQL 数据库中用于返回参数列表中的第一个非空表达式。此功能对于处理可能包含 `NULL` 值的数据非常有用。
#### 语法结构
```sql
COALESCE(value1, value2, ..., valueN)
```
该语句会依次检查每个输入值,一旦遇到不是 `NULL` 的值即刻返回;如果所有的值都是 `NULL` 则最终返回 `NULL`[^1]。
#### 实际应用案例
##### 示例一:基本用法
假设有一个表名为 `employees` ,其中某些员工的电话号码可能是未知 (`NULL`) 。可以利用 COALESCE 来提供默认值:
```sql
SELECT name,
COALESCE(phone_number, 'No phone number provided') AS contact_info
FROM employees;
```
这段查询将会把所有缺失电话号码的情况替换为预设的信息字符串。
##### 示例二:多条件判断
当存在多个可选字段时,也可以通过 COALESCE 进行优先级的选择:
```sql
SELECT id,
COALESCE(email, mobile_phone, home_phone, 'Contact info unavailable')
AS best_contact_method
FROM customer_details;
```
这里按照 email -> mobile_phone -> home_phone 的顺序查找可用联系方式,并给出相应的结果。
##### 示例三:结合其他聚合操作
还可以与其他 SQL 功能一起使用来增强灵活性:
```sql
SELECT department,
COUNT(*) as total_employees,
SUM(COALESCE(salary, 0)) as paid_salary
FROM staff_records
GROUP BY department;
```
上述例子展示了如何计算部门内实际支付工资总额,即使有部分记录薪资为空也不会影响统计准确性。
阅读全文
相关推荐


















