MySQL `COALESCE` 函数

在 SQL 中,`COALESCE` 函数用于返回参数列表中第一个非空表达式的值。如果所有参数都为 NULL,则 `COALESCE` 返回 NULL。这个函数在处理可能含有 NULL 值的情况下非常有用,可以确保在结果中始终有一个非空值。

`COALESCE` 函数的语法如下:

```sql

COALESCE(expression1, expression2, expression3, ...)

```

  • `expression1, expression2, expression3, ...`:要检查的表达式列表。

`COALESCE` 函数会逐个检查参数,返回第一个非 NULL 的参数值。如果所有参数都为 NULL,则返回 NULL。

**示例**:

假设有一个表 `students` 包含学生的姓名和出生日期,但有些学生的出生日期字段可能为 NULL。我们可以使用 `COALESCE` 函数来选择非空的出生日期或提供一个默认值。

```sql

SELECT name, COALESCE(birthdate, 'Unknown') AS birthdate

FROM students;

```

在这个示例中,如果 `birthdate` 字段为 NULL,`COALESCE` 函数会返回 'Unknown',否则会返回实际的出生日期值。

总之,`COALESCE` 函数是一个非常有用的函数,可以简化 SQL 查询中处理 NULL 值的逻辑,确保结果中不会出现 NULL 值,而是提供一个备用值。

相关推荐
alexhilton11 小时前
Room Fts4:全文搜索替代 SQL LIKE
android·kotlin·android jetpack
这个DBA有点耶13 小时前
从症状到根因:数据库监控指标的分层方法与静态/动态阈值策略
数据库·mysql·代码规范
SelectDB13 小时前
时间旅行与快照能力速查:Doris 侧三条落地路径
大数据·数据库·数据分析
SelectDB14 小时前
云数仓成本结构拆解速查:五层计费 vs Doris / 托管形态
大数据·数据库·数据分析
SelectDB14 小时前
什么场景能承接与建议保留:Doris vs Snowflake 边界速查
大数据·数据库·数据分析
这个DBA有点耶16 小时前
DELETE没删多少数据,表却越来越大——InnoDB删除空洞与页合并失效的根因
数据库·mysql·代码规范
hai_android16 小时前
把 Android App 打包成系统应用(System App)
android·kotlin·android jetpack
JMchen17 小时前
【Jetpack 内核实战 01】开篇:Jetpack 组件全家桶核心逻辑与专栏完整规划
android·kotlin·android jetpack
骑着蜗牛撵大象32718 小时前
Linux 进程间通信之管道:从 pipe() 的内核语义到 FIFO 落地排错
android·java·linux·系统编程·fifo·管道·进程间通信