如何在MySQL中检查字段为null还是空?

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

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

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

mysql> create table NullAndEmptyDemo
-1> (
-> Id varchar(200)
-> );

现在,让我们借助insert命令将记录插入表中。在表中插入记录的查询如下。我们还添加了null和empty值-

mysql> insert into NullAndEmptyDemo values(NULL);
mysql> insert into NullAndEmptyDemo values('Smith123');
mysql> insert into NullAndEmptyDemo values(' ');
mysql> insert into NullAndEmptyDemo values('98765');
mysql> insert into NullAndEmptyDemo values(NULL);
mysql> insert into NullAndEmptyDemo values('Carol567');
mysql> insert into NullAndEmptyDemo values('');

在select语句的帮助下显示所有记录。查询如下-

mysql> select *from NullAndEmptyDemo;

以下是输出-

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

现在,您可以应用开始时讨论的上述语法,以检查该字段是空还是空。查询如下-

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)