在 MySQL 中为单个列实现两个条件,分别为 null 和空值

mysqlmysqli database更新于 2025/10/18 14:04:17

首先我们创建一个表 −

mysql> create table DemoTable635(
   EmployeId int NOT NULL AUTO_INCREMENT PRIMARY KEY,EmployeeName varchar(100)
);
Query OK, 0 rows affected (1.24 sec)

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

mysql> insert into DemoTable635(EmployeeName) values('John');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable635(EmployeeName) values('Sam');
Query OK, 1 row affected (0.27 sec)
mysql> insert into DemoTable635(EmployeeName) values('');
Query OK, 1 row affected (0.38 sec)
mysql> insert into DemoTable635(EmployeeName) values(null);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable635(EmployeeName) values('David');
Query OK, 1 row affected (0.22 sec)

使用 select 语句显示表中的所有记录 −

mysql> select *from DemoTable635;

这将产生以下输出 −

+-----------+--------------+
| EmployeId | EmployeeName |
+-----------+--------------+
|         1 | John         |
|         2 | Sam          |
|         3 |              |
|         4 | NULL         |
|         5 | David        |
+-----------+--------------+
5 rows in set (0.00 sec)

以下查询是为了避免显示 MySQL 列中的空值和 Null 值 −

mysql> select *from DemoTable635 tbl where tbl.EmployeeName is not null and tbl.EmployeeName <> '';

这将产生以下输出 −

+-----------+--------------+
| EmployeId | EmployeeName |
+-----------+--------------+
|         1 | John         |
|         2 | Sam          |
|         5 | David        |
+-----------+--------------+
3 rows in set (0.02 sec)

相关文章


有用资源