需要帮助从 MySQL 选择非空列值吗?
mysqlmysqli database
使用 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)
使用 insert 命令在表中插入记录。 查询语句如下 −
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)