sql server 存储过程传参问题. 一个参数如何可以输入多个参数值

createproctest(@部门编码asvarchar(50))asselect部门编码,费用fromtemp_testtwheret.财务编码like@部门编码+'... create proc test(
@部门编码 as varchar(50)

)
as
select 部门编码, 费用
from temp_test t
where t.财务编码 like @部门编码 +'%';
exec test '01';
------------------------上面的是输入 01那么就自动匹配01下所有的费用.-----
我想要得就是 输入 01,02 时都能匹配下面所有的.
如:
exec test '01,02' 得住是 01和02 的费用
自己解决了
展开
 我来答
摆渡浮桥
2013-05-07 · TA获得超过3629个赞
知道大有可为答主
回答量:1610
采纳率:100%
帮助的人:2196万
展开全部
sql server 2005之后,可以使用xml数据类型传值,然后在存储过程中将xml解析成表,和temp_test表连接。

sql server 2008之后,可以使用表变量,传给存储过程。
szm341
2013-05-07 · TA获得超过6726个赞
知道大有可为答主
回答量:5005
采纳率:100%
帮助的人:5096万
展开全部
like %就包含in了,不过你的需求很麻烦,最好你直接把参数写成正则,如
exec test '0[12]'
这样执行相当与like '01%' or like '02%'
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
灬Linhoo
推荐于2016-03-29 · TA获得超过104个赞
知道小有建树答主
回答量:226
采纳率:0%
帮助的人:142万
展开全部
create proc test(
@部门编码 1 varchar(50)
@部门编码 2 varchar(50)
)
as
select 部门编码, 费用
from temp_test t
where t.财务编码 like @部门编码1 +'%' and @部门编码2+'%';

这个意思吗?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式