如何在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)