答案 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*'
这有意义吗?还是我不明白你的问题?