如果不是NOT NULL,则从一行返回值,否则使用MySQL返回另一列中的另一行值

为此,您可以使用IFNULL()。让我们首先创建一个表-

mysql> create table DemoTable
(
   FirstName varchar(100),
   LastName varchar(100)
);

使用插入命令在表中插入一些记录-

mysql> insert into DemoTable values('John','Doe');
mysql> insert into DemoTable values(NULL,'Taylor');
mysql> insert into DemoTable values('David',NULL);
mysql> insert into DemoTable values(NULL,'Miller');

使用select语句显示表中的所有记录-

mysql> select *from DemoTable;

这将产生以下输出-

+-----------+----------+
| FirstName | LastName |
+-----------+----------+
| John      | Doe      |
| NULL      | Taylor   |
| David     | NULL     |
| NULL      | Miller   |
+-----------+----------+
4 rows in set (0.00 sec)

以下是从一行返回值的查询(如果它不是NOT NULL),否则返回另一列中的另一行值-

mysql> select ifnull(FirstName,LastName) as Result from DemoTable;

这将产生以下输出-

+--------+
| Result |
+--------+
| John   |
| Taylor |
| David  |
| Miller |
+--------+
4 rows in set (0.00 sec)