尝试将 where 子句更新为仅适用于特定值



我的数据库中有一个存储过程。它是一段动态代码,针对多个不同的参数运行。

假设我有一个名为@Param的参数被传递:17(此参数对于不同的进程会有所不同(。

在我的查询中,我尝试使用此参数来更新 WHERE 子句,如下所示:

SELECT val1, val2 
FROM tbl1
WHERE 1 = 1 
AND ((val2 IN ('h1', 'h2') AND @Param IN (17)) OR @Param NOT IN (17))

这样的代码有意义吗?我试图只应用这个WHERE子句:(('h1','h2'(中的val2到@Param=17

你似乎想要:

where (@param = 17 and val2 in ('h1', 'h2')) or
(@param <> 17)

相关内容

最新更新