我有一个名为@Codes的参数传入一个可选的逗号分隔的系统代码字符串。
如果此参数有值,我想用
过滤查询WHERE
blah = blah AND
Code IN ('Code1','Code2','etc.')
如果参数为null或为空,我想省略完全过滤器的最后一个。
有什么想法吗?
答案 0 :(得分:4)
WHERE
blah = blah AND
(
Code IN (SELECT TheItem FROM dbo.fnSplit(@Codes))
OR
@Codes IS NULL
)
要将CSV更改为记录集,请免费选择one of the many functions。就个人而言,我倾向于numbers table approach