我有疑问
SELECT id_address, address1, address2 FROM ps_address WHERE address1 REGEXP '[[:digit:]]'
查询返回两列数据,但也返回空字段如何使查询不再显示空字段?
ni65a41a1#
你应该检查它是否是空字符串。另外,不要忘记修剪()列,以防止出现任何空白。
SELECT id_address, address1, address2 FROM ps_address WHERE address1 REGEXP '[[:digit:]]' and TRIM(address2) <> '' and TRIM(address1) <> ''
hiz5n14c2#
添加 address2 <> "" 给你的 where 条件,它将删除结果为空 address2 .
address2 <> ""
where
address2
SELECT id_address, address1, address2 FROM ps_address WHERE address1 REGEXP '[[:digit:]]' AND address2 <> ''
myzjeezk3#
如果您指的是address2列中的空字段,那么我想回答的问题是空字段中有什么?是一个空间吗?多个空格?空字符串?一旦我们回答了这个问题,像下面这样简单的查询就可以工作了。
SELECT id_address, address1, address2 FROM ps_address WHERE address1 REGEXP '[[:digit:]]' AND address2 != ''
或者这里有另一个选项,如果你不知道空字段是什么,但是你知道它们不是空的。
SELECT id_address, address1, address2 FROM ps_address WHERE address1 REGEXP '[[:digit:]]' AND address2 NOT REGEXP '/s*'
这有道理吗?还是我不明白你的问题?
3条答案
按热度按时间ni65a41a1#
你应该检查它是否是空字符串。另外,不要忘记修剪()列,以防止出现任何空白。
hiz5n14c2#
添加
address2 <> ""
给你的where
条件,它将删除结果为空address2
.myzjeezk3#
如果您指的是address2列中的空字段,那么我想回答的问题是空字段中有什么?是一个空间吗?多个空格?空字符串?一旦我们回答了这个问题,像下面这样简单的查询就可以工作了。
或者这里有另一个选项,如果你不知道空字段是什么,但是你知道它们不是空的。
这有道理吗?还是我不明白你的问题?