MySQL函数——COALESCE

MySQL函数——COALESCE

MySQL函数——COALESCE

简介

在MySQL中,COALESCE函数用于取出一组表达式中的第一个非NULL值。如果所有表达式都为NULL,则COALESCE函数会返回NULL。

语法:

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

使用场景

COALESCE函数可以在以下场景中派上用场:

  • 替换NULL值:当某一字段的值可能为NULL时,可以使用COALESCE函数将NULL值替换为其他值,以便提供更友好的查询结果。
  • 设置默认值:当某一字段的值为空时,可以使用COALESCE函数为其设置默认值。

示例代码

示例1:替换NULL值

下面的示例代码演示了如何使用COALESCE函数将NULL值替换为其他值。

表格:students

id name age city
1 Tom 20 Beijing
2 Jerry NULL Shanghai
3 Alice 18 NULL
4 Bob NULL NULL

查询语句:

SELECT id, name, COALESCE(age, 0) AS age, COALESCE(city, 'Unknown') AS city FROM students;

结果:

id name age city
1 Tom 20 Beijing
2 Jerry 0 Shanghai
3 Alice 18 Unknown
4 Bob 0 Unknown

示例2:设置默认值

下面的示例代码演示了如何使用COALESCE函数为字段设置默认值。

表格:products

id name price
1 Apple 2.5
2 Orange NULL
3 Banana 1.8
4 Mango 3.2

查询语句:

SELECT id, name, COALESCE(price, 0) AS price FROM products;

结果:

id name price
1 Apple 2.5
2 Orange 0
3 Banana 1.8
4 Mango 3.2

示例3:多表达式使用

COALESCE函数可以接受多个表达式作为参数,返回第一个非NULL值。

查询语句:

SELECT COALESCE(NULL, 1, 2, NULL, 3, NULL);

结果:

COALESCE(NULL, 1, 2, NULL, 3, NULL)
1

示例4:不包含NULL值

如果所有表达式都为NULL,COALESCE函数会返回NULL。

查询语句:

SELECT COALESCE(NULL, NULL, NULL, NULL);

结果:

COALESCE(NULL, NULL, NULL, NULL)
NULL

示例5:字符串拼接

COALESCE函数对于字符串拼接也非常有用。

表格:users

id first_name last_name
1 John Doe
2 NULL Smith
3 Emma NULL
4 NULL NULL

查询语句:

SELECT id, COALESCE(CONCAT(first_name, ' ', last_name), 'Unknown') AS full_name FROM users;

结果:

id full_name
1 John Doe
2 Unknown
3 Emma Unknown
4 Unknown

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程