sql - SQL 报告返回空值
问题描述
我写了一份报告,但我对 NULL 值有点麻烦。
在我的报告中,我有一个 WHERE 子句:
WHERE Cust.Ref LIKE ?
该条款导致我报告的另一部分(名义代码)出现问题。当我过滤名义代码时,它返回了 0 个结果,而它应该返回了 34 个结果。
我删除了 WHERE 子句,它运行良好......太好了,我找到了问题。
我将 WHERE 子句更改为:
WHERE (Cust.Ref LIKE ? OR Cust.Ref IS NULL)
这解决了名义代码问题,但现在当我按客户参考过滤时,它也会带回所有 NULL 值。
有人可以建议吗?
谢谢。
解决方案
您可以稍微转动 where 子句以检查空占位符值。
WHERE (? IS NULL OR Cust.Ref LIKE ?)
推荐阅读
- hyperledger-fabric - 使用“composer network ping --card admin@trial.card”时“找不到卡”
- postgresql - 如何在 slick 3.2.0 中将 Map[String, String] 映射到 (String, String)
- c - 在链表中,最后一个 node->next 不为 NULL,导致 segfault
- android - 如何修复在 Android 中使用 tensorflow 时发生的错误
- c++ - 如何将 Windows GUID 转换为 boost::uuid?
- powerbi - 根据切片器值选择 DAX 度量
- postgresql - 为什么我在控制台中运行测试时出现 DOLLAR QUOTE 错误,而不是在工作台上运行函数时出现 DOLLAR QUOTE 错误?
- java - authorizeRequests() 顺序有影响吗?
- javascript - 检测变换元素以计算固定元素的位置
- python - 将复杂的字典导出到 csv 文件中