我有一个满是地址记录的表,我正在尝试用它进行选择 CHAR_LENGTH
限制每列,但每当我在一列中有一个空值,它返回0个结果。下面是我的例子:
SELECT *
FROM SubjectDetailsView
WHERE ShipInFlag IS NULL
AND ZipCode IS NOT NULL
AND CHAR_LENGTH(ZipCode) < 11
AND CHAR_LENGTH(State) = 2
AND Address1 IS NOT NULL
AND CHAR_LENGTH(Address1) < 36
AND CHAR_LENGTH(Address2) < 36;
我的主要问题是地址2。zipcode、state和address1总是有一个值,所以这从来都不是问题,但是address2通常有一个空值。当address2字段中有数据时,我得到一个结果,但是如果它为null,我得到0个结果。
我也是 CHAR_LENGTH
只寻找一个字符串(在我的例子中是1-35),而忽略空值?如果是这样的话,如果address2可以有空值和非空值,但仍然少于36个字符,那么如何让查询返回结果?
2条答案
按热度按时间clj7thdc1#
必须测试address2是否为空:
qnyhuwrf2#
可以使用ifnull函数使字符串具有如下长度
empty
: