如何在 MySQL SELECT 语句中使用 NULL?


在 MySQL 中,NULL 的长度为 0。在这里,我们将了解如何将 NULL 与 SELECT 语句一起使用。让我们使用 CREATE 命令创建一个表:

创建表:

mysql> CREATE table NullWIthSelect
-> (
-> Name varchar(100)
-> );
Query OK, 0 rows affected (0.62 sec)

上面,我成功创建了一个表。现在,我将使用 INSERT 命令插入一些记录:

插入记录:

mysql> INSERT into NullWIthSelect values('John');
Query OK, 1 row affected (0.16 sec)

mysql> INSERT into NullWIthSelect values('Bob');
Query OK, 1 row affected (0.12 sec)

mysql> INSERT into NullWIthSelect values();
Query OK, 1 row affected (0.18 sec)

mysql> INSERT into NullWIthSelect values('Carol');
Query OK, 1 row affected (0.15 sec)

mysql> INSERT into NullWIthSelect values('');
Query OK, 1 row affected (0.16 sec)

mysql> INSERT into NullWIthSelect values('David');
Query OK, 1 row affected (0.19 sec)

mysql> INSERT into NullWIthSelect values();
Query OK, 1 row affected (0.08 sec)

上面,我在表中插入了 7 条记录,其中一条记录为空值,两条记录为 NULL 值。其余记录都有一些值。

要显示所有记录,我们可以使用 SELECT 命令:

mysql> SELECT * from NullWIthSelect;

以下是输出结果

+-------+
| Name  |
+-------+
| John  |
| Bob   |
| NULL  |
| Carol |
|       |
| David |
| NULL  |
+-------+
7 rows in set (0.00 sec)

现在,我们可以像下面这样将 NULL 与 SELECT 语句一起使用。

首先,让我们看看语法:

SELECT * from yourTableNamet where column_name is NULL;

应用上述查询以了解哪个列的值为 NULL。查询如下:

mysql> SELECT * from NullWIthSelect where Name is NULL;

以下是输出结果:

+------+
| Name |
+------+
| NULL |
| NULL |
+------+
2 rows in set (0.00 sec)

现在,我们可以获取 NULL 值的长度,即 0。查询如下:

mysql> SELECT count(Name) from NullWIthSelect where Name is NULL;

以下是输出结果:

+-------------+
| count(Name) |
+-------------+
| 0           |
+-------------+
1 row in set (0.04 sec)

更新于: 2020-06-25

940 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告