这可能很明显,但我很困惑.
我有一个带有where子句的SQL查询(其中包含参数列表).如果所有这些参数都为null,我需要sql忽略where子句并检索所有记录.在sql中这很容易吗?我知道一种方法是,如果参数为null,只需使用代码删除where子句.
解决方法
你可以尝试做这样的事情:
select * from foo where (@parameter1 is null AND @parameter2 is null) OR (@parameter1 = 'value1' AND @parameter2 = 'value2')
在你自己的查询中需要进行一些调整,但是现在你将检查参数是否为null或者是否使用原始where子句.