我正在尝试查询MySQL数据库以返回一些结果。对于例如我有一个HTML
表单,用户可以在其中输入一些搜索值并执行它。此表单包含两个字段:Body
和Query String
(这些是我的数据库表中的相应字段)。
我正在执行这样的查询:
select count(*) from Message;
结果是:7280
如果我执行这样的查询:
select count(*) from Message where body like '%%';
结果是:7280
正文没有null
个值。
但是如果我在查询中添加另一个空like
:
select count(*) from Message where body like '%%' and queryString like '%%';
结果是:3353
。
我的queryString
列包含一些null
值,我猜这是导致这种情况。我希望该查询返回的结果与结果(7280)
相同,并忽略那些null
值。如何使用MySQL实现这一目标?
答案 0 :(得分:1)
您可以使用IFNULL
功能:
select count(*) from Message where body like '%%' and IFNULL(queryString, " ") like '%%';
答案 1 :(得分:1)
WHERE ((body LIKE '%%') OR (body IS NULL))
and ((queryString LIKE '%%') OR (queryString IS NULL))