MySQL 的條件非 NULL 案例?


對於條件非 NULL 案例,您無需使用 <> 和 = 運算子。您需要使用 IS NULL 和 IS NOT NULL 屬性,因為 NULL 在 MySQL 中是特殊情況。

為了理解條件非 NULL 案例,我們建立一個表。用於建立表的查詢如下:

mysql> create table ConditionalNotNullDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> SendMessage longtext,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.62 sec)

使用插入命令在表中插入一些記錄。查詢如下:

mysql> insert into ConditionalNotNullDemo(SendMessage) values(NULL);
Query OK, 1 row affected (0.16 sec)
mysql> insert into ConditionalNotNullDemo(SendMessage) values('Hi');
Query OK, 1 row affected (0.15 sec)
mysql> insert into ConditionalNotNullDemo(SendMessage) values('Hello');
Query OK, 1 row affected (0.20 sec)
mysql> insert into ConditionalNotNullDemo(SendMessage) values(NULL);
Query OK, 1 row affected (0.18 sec)

使用 select 語句顯示錶中的所有記錄。查詢如下:

mysql> select *from ConditionalNotNullDemo;

輸出如下:

+----+-------------+
| Id | SendMessage |
+----+-------------+
|  1 | NULL        |
|  2 | Hi          |
|  3 | Hello       |
|  4 | NULL        |
+----+-------------+
4 rows in set (0.00 sec)

以下是 IS NULL 和 IS NOT NULL 屬性的演示。

案例 1:如果您想過濾所有 NULL 訊息,可使用 IS NULL 屬性。查詢如下:

mysql> select *from ConditionalNotNullDemo where SendMessage IS NULL;

輸出如下:

+----+-------------+
| Id | SendMessage |
+----+-------------+
|  1 | NULL        |
|  4 | NULL        |
+----+-------------+
2 rows in set (0.00 sec)

案例 2:使用 IS NOT NULL 屬性。如果您想顯示除了 NULL 訊息之外的所有有效訊息,可以使用 IS NULL 屬性。查詢如下:

mysql> select *from ConditionalNotNullDemo where SendMessage IS NOT NULL;

輸出如下:

+----+-------------+
| Id | SendMessage |
+----+-------------+
|  2 | Hi          |
|  3 | Hello       |
+----+-------------+
2 rows in set (0.03 sec)

更新於: 30-Jul-2019

687 次瀏覽

開啟您的 職業

透過完成課程獲得認證

開始學習
廣告