我在我不理解的原本直接查询的Where子句中具有以下代码
... AND --Filter on StoreID
(
('545' IS NOT NULL AND a.StoreID IN (545)) OR
('545' IS NULL)
)
AND ...
查询出现,如果我将其更改为:
,将返回完全相同的结果... AND a.StoreID IN (545) AND ...
我感谢您对此的任何帮助。
谢谢,预先!
看起来好像'545'的值是通过参数传递的,主要用于存储过程或通过应用程序的动态SQL生成:
(@value IS NOT NULL AND a.StoreID IN (@value)) OR
(@value IS NULL)
如果@value不为null,或选择"所有"记录,当@Value为null时,此类子句将在搜索中进行搜索。
通常,如果提供值,这将有条件地过滤结果