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


您可以使用 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)

更新于:30-7-2019

348 浏览次数

开启你的职业生涯

完成课程获取认证

开始学习
广告