提问人:Nate 提问时间:1/29/2013 更新时间:2/17/2018 访问量:32920
如何在MySQL中选择非空列?
How to select non-empty columns in MySQL?
问:
很抱歉,如果之前有人问过这个问题,但我一直在寻找,找不到解决我简单问题的方法。
我需要选择其中的 varchar 列包含文本(字母、数字或特殊字符)的所有行,因此我编写了一个如下所示的查询:
SELECT col1
FROM table
WHERE col1 IS NOT NULL
但这会返回包含值 '' 的列(即它是空的,但未设置为 NULL,因此仍会返回)。
我尝试将查询更改为:
SELECT col1
FROM table
WHERE col1 IS NOT NULL
AND col1 != ''
但这没有用。
如何阻止返回列为空的行?
答:
26赞
Raab
1/29/2013
#1
然后使用你的列中似乎有空格TRIM
SELECT col1
FROM table
WHERE col1 IS NOT NULL
AND TRIM(col1) <> ''
1赞
Shankar Kalyankar
1/29/2013
#2
如果列为空,但未设置为 NULL ,则可以使用此查询
SELECT col1 FROM table where col1 not like '';
# 两个不带空格的单引号
或
如果列有一个或多个空格,
SELECT col1 FROM table where col1 not like '% %';
1赞
sj59
2/17/2018
#3
使用 LENGTH
:
SELECT col1
FROM table
WHERE LENGTH(col1) > 0
评论