MySQL 如何在查询中拼接值并处理空值

MySQL 如何在查询中拼接值并处理空值

您可以使用CONCAT()方法来拼接值,而IFNULL()方法用于处理空值。语法如下:

SELECT
CONCAT('任意字符串:',IFNULL(yourColumnName, '任意字符串')) AS 任意变量名
FROM yourTableName;

为了理解上面的语法,让我们创建一个表。创建表的查询如下:

mysql> create table ConcatValues
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> FirstName varchar(20),
   -> MiddleName varchar(20),
   -> LastName varchar(20),
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.62 sec)

使用insert命令在表中插入一些记录。查询如下:

mysql> insert into ConcatValues(FirstName,MiddleName,LastName) values('John' ,NULL ,'Smith');
Query OK, 1 row affected (0.24 sec)

mysql> insert into ConcatValues(FirstName,MiddleName,LastName) values('Carol' ,NULL ,'Taylor');
Query OK, 1 row affected (0.16 sec)

mysql> insert into ConcatValues(FirstName,MiddleName,LastName) values('David' ,NULL ,'Miller');
Query OK, 1 row affected (0.23 sec)

使用select语句显示表中所有记录。查询如下:

mysql> select *from ConcatValues;

以下是输出结果:

+----+-----------+------------+----------+
| Id | FirstName | MiddleName | LastName |
+----+-----------+------------+----------+
| 1 | Mary | Elizabeth | Smith |
| 2 | John | NULL | Smith |
| 3 | Carol | NULL | Taylor |
| 4 | David | NULL | Miller |
+----+-----------+------------+----------+
4 rows in set (0.00 sec)

以下是用于处理空值并拼接值的查询语句:

mysql> select
   -> concat('中间名是:',IFNULL(MiddleName, '不可用')) AS MiddleName
   -> from ConcatValues;

以下是输出结果:

+----------------------------------+
| MiddleName                       |
+----------------------------------+
| 中间名是:Elizabeth              |
| 中间名是:不可用                |
| 中间名是:不可用                |
| 中间名是:不可用                |
+----------------------------------+
4 rows in set (0.00 sec)

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程