详解MySQL的COALESCE()函数:查询第一个非 NULL 的表达式

  • Post category:MySQL

COALESCE()函数是MySQL中的一个常用函数,它主要的作用是用来返回参数列表中的第一个不为NULL的值。如果参数列表中都是NULL,则函数返回NULL。下面详细讲解COALESCE()函数的使用方法及示例:

语法

COALESCE([参数1, 参数2, …, 参数n])

返回值

COALESCE()函数返回参数列表中的第一个非NULL值,如果参数列表中没有非NULL值,则函数返回NULL。返回值的类型与参数列表中最左边的非NULL值的类型相同。

使用方法

COALESCE()函数的使用方法十分简单,可以通过下面的步骤来使用:

  1. 在COALESCE()函数的括号内输入需要进行判断的参数列表。

  2. 参数列表可以是变量、列、常量、表达式等。

  3. COALESCE()函数会从左往右遍历参数列表,遇到第一个非NULL值就返回。

  4. 如果参数列表中都是NULL,则返回NULL。

实例

下面提供两个使用COALESCE()函数的示例:

示例 1

假设有一张学生信息表,有2个字段:id和name,现在需要查询每个学生的id和name信息,并且如果学生姓名为空,则显示“未知”。

SELECT id, COALESCE(name, '未知') AS name FROM student;

示例 2

假设有一个订单表,有3个字段:id、order_no和create_time,现在需要查询每个订单的order_no和create_time信息,并且如果create_time为空,则显示订单创建时间为空。

SELECT order_no, COALESCE(create_time, '订单创建时间为空') AS create_time FROM orders;

在上面两个示例中,使用COALESCE()函数实现了对字段的非NULL值的判断,使查询结果更加完整和规范。