如何在 MySQL 中检查数据是否为 ​​NULL?

mysqlmysqli database更新于 2024/12/25 23:08:17

您可以使用 IF() 检查数据是否为 ​​NULL。  让我们首先创建一个表 −

mysql> create table DemoTable
(
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   Name varchar(200),
   Age int
);
Query OK, 0 rows affected (0.44 sec)

使用 insert 命令在表中插入记录 −

mysql> insert into DemoTable(Name,Age) values('John',23);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable(Name,Age) values('Sam',null);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable(Name,Age) values('Mike',23);
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable(Name,Age) values('David',21);
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable(Name,Age) values('Carol',null);
Query OK, 1 row affected (0.13 sec)

使用 select 命令显示表中的记录 −

mysql> select *from DemoTable;

这将产生以下输出 −

+----+-------+------+
| Id | Name  | Age  |
+----+-------+------+
| 1  | John  | 23   |
| 2  | Sam   | NULL |
| 3  | Mike  | 23   |
| 4  | David | 21   |
| 5  | Carol | NULL |
+----+-------+------+
5 rows in set (0.00 sec)

以下查询用于检查数据是否为 ​​NULL。这会在记录中显示 NULL 的位置添加一条消息 −

mysql> select if(Age IS NULL,'Age is missing',Age) from DemoTable;

这将产生以下输出 −

+--------------------------------------+
| if(Age IS NULL,'Age is missing',Age) |
+--------------------------------------+
| 23                                   |
| Age is missing                       |
| 23                                   |
| 21                                   |
| Age is missing                       |
+--------------------------------------+
5 rows in set (0.00 sec)

相关文章


有用资源