SQL:取消null参数的’where’

这可能很明显,但我很困惑.

我有一个带有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子句.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...