MySQL查询不显示为空的字段

时间:2018-11-21 15:08:44

标签: mysql sql regex

我有查询

{{1}}

查询返回2列,其中包含数据,但也包含空字段

enter image description here

我怎样才能使它不再显示的查询不再是空字段?

3 个答案:

答案 0 :(得分:0)

address2 <> ""添加到您的where条件中,它将删除结果为空的address2

SELECT id_address, address1, address2 
FROM ps_address 
WHERE address1 REGEXP '[[:digit:]]' AND address2 <> ''

答案 1 :(得分:0)

您应该检查其是否为空字符串。另外,请不要忘记对TRIM()列进行设置,以防止出现任何空格。

SELECT id_address, address1, address2 
FROM ps_address 
WHERE address1 REGEXP '[[:digit:]]' and TRIM(address2) <> '' and TRIM(address1) <> ''

答案 2 :(得分:0)

如果您要引用address2列中的空白字段,那么我想回答的问题是空白字段中包含什么?是空间吗?多个空格?空字符串?一旦我们回答了这个问题,就可以进行以下简单的查询。

SELECT id_address, address1, address2 
FROM ps_address 
WHERE address1 REGEXP '[[:digit:]]'
    AND address2 != ''

或者,如果您不知道什么是空字段,但您知道它们不是NULL,那么这是另一种选择。

SELECT id_address, address1, address2 
FROM ps_address 
WHERE address1 REGEXP '[[:digit:]]'
    AND address2 NOT REGEXP '/s*'

这有意义吗?还是我不明白你的问题?