如果行非 NULL,则从该行返回该值,否则使用 MySQL 返回另一列中的其他行值
为此,您可以使用 IFNULL()。我们首先创建一个表 -
mysql> create table DemoTable ( FirstName varchar(100), LastName varchar(100) ); Query OK, 0 rows affected (0.62 sec)
使用 insert 命令在表中插入一些记录 -
mysql> insert into DemoTable values('John','Doe'); Query OK, 1 row affected (0.29 sec) mysql> insert into DemoTable values(NULL,'Taylor'); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable values('David',NULL); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable values(NULL,'Miller'); Query OK, 1 row affected (0.12 sec)
使用 select 语句从表中显示所有记录 -
mysql> select *from DemoTable;
这将产生以下输出 -
+-----------+----------+ | FirstName | LastName | +-----------+----------+ | John | Doe | | NULL | Taylor | | David | NULL | | NULL | Miller | +-----------+----------+ 4 rows in set (0.00 sec)
以下是返回行值(如果它不是 NULL,否则返回另一列中的另一个行值)的查询 -
mysql> select ifnull(FirstName,LastName) as Result from DemoTable;
这将产生以下输出 -
+--------+ | Result | +--------+ | John | | Taylor | | David | | Miller | +--------+ 4 rows in set (0.00 sec)
广告