2

我有一个有多个列的数据库,但我只对获取两列 col-A 和 col-B 感兴趣,条件是该行将具有:col-A 是任何值 & col-B 必须不是 NULL。

我很好地搜索了这个论坛,并且在最简单的尝试中,下面给出了一个:

SELECT col-A,col-B FROM ports WHERE col-B IS NOT NULL; 

当我运行此查询时,它会转储包含以下行的两列:(请注意——这里的“端口”是表)

col-A = ANY VALUE + col-B = NULL(blank/empty field)
col-A = ANY VALUE + col-B = NON NULL

连我都试过了。最通用的语法:

SELECT * FROM ports WHERE col-B IS NOT NULL; <<<< it dumps both empty & non-empty rows

MySQL 版本是 5.5.32。

4

2 回答 2

2

检查两个条件:空白和null

SELECT col-A,col-B 
FROM ports 
WHERE col-B IS NOT NULL and col-B <> ''

空白不是nullnull表示没有值,一个空白的空字符串是''

于 2013-10-11T05:58:18.837 回答
0

@uergen d 的答案很好。但是,如果您想尝试其他方法,请检查此

SELECT col-A,col-B 
FROM ports 
WHERE LENGTH(col-B) > 0
于 2013-10-11T07:03:48.333 回答