【发布时间】:2011-08-04 19:11:42
【问题描述】:
我有一个大约 30 列的 MySQL 表。对于表的大部分内容,一列具有空值。如何使用 MySQL 命令过滤掉表中有值的项目?
这是我的尝试:
SELECT * FROM `table` WHERE column IS NOT NULL
这不会过滤,因为我有空单元格,而不是在空单元格中有 NULL。
【问题讨论】:
我有一个大约 30 列的 MySQL 表。对于表的大部分内容,一列具有空值。如何使用 MySQL 命令过滤掉表中有值的项目?
这是我的尝试:
SELECT * FROM `table` WHERE column IS NOT NULL
这不会过滤,因为我有空单元格,而不是在空单元格中有 NULL。
【问题讨论】:
同时查找不等于空字符串''的列
SELECT * FROM `table` WHERE column IS NOT NULL AND column <> ''
如果您的字段仅包含您认为为空的空格,请使用TRIM() 消除空格,并可能留下空字符串''
SELECT * FROM `table` WHERE column IS NOT NULL AND TRIM(column) <> ''
【讨论】:
table WHERE column = "" 为我工作
另一种方法,也可以处理列中的空格和空值:
SELECT * FROM `table` WHERE TRIM(column) > ''
【讨论】: