MySQL 中如何检查字段是否为 null 或空?


要在 MySQL 中检查字段是否为 null 或空,请使用 MySQL 中的 IF() 函数。语法如下:-

SELECT IF(yourColumnName IS NULL or yourColumnName = '', 'NULLId', yourColumnName) as anyVariableName from yourTableName;

为了理解上面的语法,让我们创建一个表。以下是创建表的查询:-

mysql> create table NullAndEmptyDemo
-1> (
-> Id varchar(200)
-> );
Query OK, 0 rows affected (0.66 sec)

现在让我们借助插入命令向表中插入记录。以下是向表中插入记录的查询。我们也添加了 null 和空值:-

mysql> insert into NullAndEmptyDemo values(NULL);
Query OK, 1 row affected (0.22 sec)
mysql> insert into NullAndEmptyDemo values('Smith123');
Query OK, 1 row affected (0.17 sec)
mysql> insert into NullAndEmptyDemo values(' ');
Query OK, 1 row affected (0.35 sec)
mysql> insert into NullAndEmptyDemo values('98765');
Query OK, 1 row affected (0.15 sec)
mysql> insert into NullAndEmptyDemo values(NULL);
Query OK, 1 row affected (0.10 sec)
mysql> insert into NullAndEmptyDemo values('Carol567');
Query OK, 1 row affected (0.14 sec)
mysql> insert into NullAndEmptyDemo values('');
Query OK, 1 row affected (0.13 sec)

利用 select 语句显示所有记录。查询如下:-

mysql> select *from NullAndEmptyDemo;

以下是输出:-

+----------+
| Id       |
+----------+
| NULL     |
| Smith123 |
|          |
| 98765    |
| NULL     |
| Carol567 |
|          |
+----------+
7 rows in set (0.00 sec)

现在您可以应用我们在开头讨论的上面语法来检查字段是否为 null 或空。查询如下:-

mysql> SELECT IF(Id IS NULL or Id = '', 'NULLId', Id) as UpdatedColumnValue from NullAndEmptyDemo;

以下是输出,如果在开头处发现 NULL 或空(“ ”),则替换值:-

+--------------------+
| UpdatedColumnValue |
+--------------------+
| NULLId             |
| Smith123           |
| NULLId             |
| 98765              |
| NULLId             |
| Carol567           |
| NULLId             |
+--------------------+
7 rows in set (0.00 sec)

更新时间: 2020-06-26

3 千次+ 浏览量

开启你的 职业生涯

学完本课程获得认证

开始学习
广告