SQL 中 COALESCE 函数用于处理 NULL 值,将表达式列表中的第一个非 NULL 值返回,如果所有表达式都为 NULL,则返回默认值。它主要用于替换 NULL 值、提供默认值和级联检查。如需替换 NULL 值,可使用 COALESCE(expr1, expr2, ...)。提供默认值,可使用 COALESCE(expr1, expr2, ..., default_value)。级联检查,可使用 COALESCE(expr1, expr2, ...)。

SQL 中 COALESCE 函数用法
COALESCE 函数是 SQL 中一个常用的函数,用于处理 NULL 值。它可以将多个表达式作为一个参数列表,并返回第一个非 NULL 值。如果所有表达式都为 NULL,则返回默认值。
语法
COALESCE(expr1, expr2, ..., exprN, default_value)
其中:
-
expr1,expr2, ...,exprN:要检查的表达式。 -
default_value:如果所有表达式都为 NULL,则返回的默认值(可选)。
用法
COALESCE 函数主要用于处理以下场景:
- 替换 NULL 值:COALESCE 函数可以将 NULL 值替换为其他非 NULL 值,从而确保数据完整性。
- 提供默认值:当没有可用数据时,COALESCE 函数可以提供一个默认值,以防止错误或意外结果。
- 级联检查:COALESCE 函数可以级联检查多个表达式,直到找到一个非 NULL 值。
示例
MMM金融互助系统源码是以thinkphp为核心进行开发的3m金融互助平台。程序安装说明:1.恢复数据:将“数据备份”文件夹中的 urkeji.sql 文件请采用phpMyAdmin进行导入; 2.配置Sql数据库信息,文件路径:根目录下 config.php3.后台管理地址:http://域名/admin.php 用户名:100000 密码:admin1
1. 替换 NULL 值
SELECT COALESCE(name, 'Unknown') FROM users;
这会将 name 列中的所有 NULL 值替换为字符串 "Unknown"。
2. 提供默认值
SELECT COALESCE(age, 0) FROM users;
这会在 age 列中将所有 NULL 值替换为数字 0。
3. 级联检查
SELECT COALESCE(address, city, country) FROM users;
这会首先检查 address 列中的值。如果 address 为 NULL,它会检查 city 列的值。如果 city 也为 NULL,则返回 country 列的值。
注意事项
- COALESCE 函数不接受空参数列表。
- COALESCE 函数返回第一个非 NULL 值,而不是表达式列表中所有非 NULL 值的列表。
- 如果所有表达式都为 NULL 且没有提供
default_value,则 COALESCE 函数返回 NULL。









