在 MySQL 中選擇一列非空值,需要幫助嗎?


使用 NOT IS NULL 和 TRIM() 函式來選擇非空列值。語法如下。

SELECT * FROM yourTableName WHERE yourColumnName IS NOT NULL AND TRIM(yourColumnName) <> ' ';

你可以使用相同的 TRIM() 函式來選擇列中的非空值以及空白。

為了理解上面討論的語法,讓我們建立一個表。建立表的查詢如下 -

mysql> create table SelectNonEmptyValues
   -> (
   -> Id int not null auto_increment,
   -> Name varchar(30),
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.62 sec)

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

mysql> insert into SelectNonEmptyValues(Name) values('John Smith');
Query OK, 1 row affected (0.20 sec)

mysql> insert into SelectNonEmptyValues(Name) values(NULL);
Query OK, 1 row affected (0.13 sec)

mysql> insert into SelectNonEmptyValues(Name) values('');
Query OK, 1 row affected (0.24 sec)

mysql> insert into SelectNonEmptyValues(Name) values('Carol Taylor');
Query OK, 1 row affected (0.13 sec)

mysql> insert into SelectNonEmptyValues(Name) values('DavidMiller');
Query OK, 1 row affected (0.28 sec)

mysql> insert into SelectNonEmptyValues(Name) values(' ');
Query OK, 1 row affected (0.18 sec)

使用 select 語句顯示錶中的所有記錄 -

mysql> select *from SelectNonEmptyValues;

輸出如下 -

+----+-----------------------+
| Id | Name                  |
+----+-----------------------+
|  1 | John Smith            |
|  2 | NULL                  |
|  3 |                       |
|  4 | Carol Taylor          |
|  5 | DavidMiller           |
|  6 |                       |
+----+-----------------------+
6 rows in set (0.00 sec)

以下查詢用於選擇非空值。以下查詢適用於所有情況 - 如果列包含 NULL、空字串或空白 -

mysql> SELECT * FROM SelectNonEmptyValues WHERE Name IS NOT NULL AND TRIM(Name) <> '';

輸出如下 -

+----+--------------+
| Id | Name         |
+----+--------------+
|  1 | John Smith   |
|  4 | Carol Taylor |
|  5 | DavidMiller  |
+----+--------------+
3 rows in set (0.00 sec)

更新時間:30-Jul-2019

6K+ 瀏覽

開啟職業生涯

完成課程認證

開始
廣告
© . All rights reserved.