当前位置: 代码迷 >> Sql Server >> 怎么把过滤的条件写在参数里
  详细解决方案

怎么把过滤的条件写在参数里

热度:60   发布时间:2016-04-24 18:21:30.0
如何把过滤的条件写在参数里
如何把过滤的条件写在参数里

比如简化后的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拼接了。
  相关解决方案