如何把过滤的条件写在参数里
如何把过滤的条件写在参数里
比如简化后的SQL:
select * from myTable where Status = 'A' or Status='B' or Status='C';
如何写成store proc,其中,A, B, C是条件
使调用时:
exec spMyProc 'A or B or C'
-- 或者 exec spMyProc 'A, B, C'
(A, B, C个数不定,但都是 or)
alter proc spMyProc
@filters VARCHAR(50);
as
begin
select * from myTable where Status = @filters
end;
------解决方案--------------------用in可以吗
select * from myTable where Status in ('A' ,'B' ,'C');
------解决方案--------------------最简单的是用IN拼接 不然的话就要用UNION ALL拼接了。