你的位置:首页 > 软件开发 > 数据库 > sql储存过程in(多个参数)

sql储存过程in(多个参数)

发布时间:2015-08-13 12:00:24
首先要创建一个截取字符串的函数函数SqlitIn的第一个参数是储存过程要in的字符串,第二个参数是分隔符 1 CREATE function [dbo].[SplitIn](@c varchar(100),@split varchar(2)) 2 returns @t tab ...

首先要创建一个截取字符串的函数

函数SqlitIn的第一个参数是储存过程要in的字符串,第二个参数是分隔符

sql储存过程in(多个参数)sql储存过程in(多个参数)
 1 CREATE function [dbo].[SplitIn](@c varchar(100),@split varchar(2))   2 returns @t table(col varchar(20))   3 as   4 begin   5  while(charindex(@split,@c)<>0)   6   begin   7    insert @t(col)values (substring(@c,1,charindex(@split,@c)-1))   8    set @c=stuff(@c,1,charindex(@split,@c),'')   9   end  10  insert @t(col)values(@c)  11  return  12 end 

这个函数的作用比喻:

select col from SplitIn('00001,00002,00003',',')   得到的结果是

sql储存过程in(多个参数)

即把传入的字符串'00001,00002,00003' 根据逗号分割,变成一个只有一列的表

最后储存过程调用这个函数

@id='00001,00002,00003'

select * from A where id in(select col from SplitIn(@id,',')) 就ok 了

上面这句相当于select * from A where id in('00001','00002','00003')

 

 

 


 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:sql储存过程in(多个参数)

关键词:sql

sql
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。