查询MySQL数据库

时间:2012-12-03 12:25:32

标签: mysql sql

我正在尝试查询MySQL数据库以返回一些结果。对于例如我有一个HTML表单,用户可以在其中输入一些搜索值并执行它。此表单包含两个字段:BodyQuery 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实现这一目标?

2 个答案:

答案 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))