如何在 MySQL 中檢查列是否為空或為空值?


要檢查列是否為空或為空值,我們可以使用帶有 IS NULL 的 WHERE 子句,對於空值,我們可以使用條件 ' ',即空格。所需的步驟如下:首先,使用 CREATE 命令 建立一個表,如下所示:

mysql> CREATE table ColumnValueNullDemo
-> (
-> ColumnName varchar(100)
-> );
Query OK, 0 rows affected (0.61 sec)

使用 INSERT 命令 將空值插入表中。如下所示:

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

之後,使用 SELECT 命令 顯示錶記錄。如下所示:

mysql> SELECT * from ColumnValueNullDemo;

執行上述查詢後,我們將得到以下輸出:

+-------------------+
| ColumnName        |
+-------------------+
|                   |
+-------------------+
1 row in set (0.00 sec)

要檢查列是否為空值或為空,語法如下:

SELECT * FROM yourTableName WHERE yourSpecificColumnName IS NULL OR
yourSpecificColumnName = ' ';

當列為空時,可以使用 IS NULL 約束,當有空值時,使用符號 (' ')。

現在,使用上述語法的查詢如下所示:

mysql> SELECT * FROM ColumnValueNullDemo WHERE ColumnName IS NULL OR
ColumnName = ' ';

執行上述查詢後,獲得的輸出為。

+------------+
| ColumnName |
+------------+
|            | 
+------------+
1 row in set (0.00 sec)

由於第二個條件對空值成立,因此得到此輸出。

現在,使用 INSERT 命令將 NULL 值插入表中,如下所示:

mysql> INSERT into ColumnValueNullDemo values();
Query OK, 1 row affected (0.14 sec)

使用 SELECT 命令查看錶的內容,如下所示:

mysql> SELECT * from ColumnValueNullDemo;

執行上述查詢後,獲得以下輸出:

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

現在,應用檢查空值或空值的條件:

mysql> SELECT * FROM ColumnValueNullDemo WHERE ColumnName IS NULL OR
ColumnName = '';

獲得兩行表記錄作為輸出,因為兩個條件都成立。

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

更新於:2023年9月2日

46K+ 次瀏覽

啟動您的 職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.