在 MySQL 中显示和连接记录并忽略 NULL 值
mysqlmysqli database
使用 CONCAT() 连接记录,而使用 IFNULL() 检查 NULL 值。
首先我们创建一个表 −
mysql> create table DemoTable802 ( FirstName varchar(100), LastName varchar(100) ); Query OK, 0 rows affected (1.01 sec)
使用 insert 命令在表中插入一些记录 −
mysql> insert into DemoTable802 values('Adam','Smith'); Query OK, 1 row affected (0.23 sec) mysql> insert into DemoTable802 values('Carol',NULL); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable802 values(NULL,'Taylor'); Query OK, 1 row affected (0.09 sec) mysql> insert into DemoTable802 values(NULL,NULL); Query OK, 1 row affected (0.21 sec)
使用 select 语句显示表中的所有记录 −
mysql> select *from DemoTable802;
这将产生以下输出 -
+-----------+----------+ | FirstName | LastName | +-----------+----------+ | Adam | Smith | | Carol | NULL | | NULL | Taylor | | NULL | NULL | +-----------+----------+ 4 rows in set (0.00 sec)
以下是连接记录的查询,忽略 NULL 值 −
mysql> select concat(IFNULL(FirstName,''),' ',IFNULL(LastName,'')) AS FULL_NAME from DemoTable802;
这将产生以下输出 -
+------------+ | FULL_NAME | +------------+ | Adam Smith | | Carol | | Taylor | | | +------------+ 4 rows in set (0.00 sec)