首页 > 解决方案 > SQL 报告返回空值

问题描述

我写了一份报告,但我对 NULL 值有点麻烦。

在我的报告中,我有一个 WHERE 子句:

WHERE Cust.Ref LIKE ?

该条款导致我报告的另一部分(名义代码)出现问题。当我过滤名义代码时,它返回了 0 个结果,而它应该返回了 34 个结果。

我删除了 WHERE 子句,它运行良好......太好了,我找到了问题。

我将 WHERE 子句更改为:

WHERE (Cust.Ref LIKE ? OR Cust.Ref IS NULL)

这解决了名义代码问题,但现在当我按客户参考过滤时,它也会带回所有 NULL 值。

有人可以建议吗?

谢谢。

标签: sqlnullwhere-clause

解决方案


您可以稍微转动 where 子句以检查空占位符值。

WHERE (? IS NULL OR Cust.Ref LIKE ?)

推荐阅读