select AA.a, AA.a2 from AA,SS_FAVORITEURL BB where BB.aID=AA.aID and BB.ID in (@IDS)
还是:
select AA.a, AA.a2 from AA, BB where BB.aID=AA.aID and BB.ID in (@IDS)
还是:
select AA.a, AA.a2 from AA, BB where BB.aID=AA.aID and BB.ID in (@IDS)
@IDS varchar(1024)
as
begin
declare @sql varchar(8000)
set @sql='select AA.a, AA.a2 from AA,SS_FAVORITEURL where BB.aID=AA.aID and BB.ID in (' + @IDS +')'
exec(@sql)
end
@IDS= '''b1'',''b2'',''b3'''
/*
功能:实现split功能的函数
*/
create function fn_split
(
@inputstr varchar(8000),
@seprator varchar(10)
)
returns @temp table (a varchar(200))
as begin
declare @i int set @inputstr = rtrim(ltrim(@inputstr))
set @i = charindex(@seprator, @inputstr) while @i >= 1
begin
insert @temp values(left(@inputstr, @i - 1)) set @inputstr = substring(@inputstr, @i + 1, len(@inputstr) - @i)
set @i = charindex(@seprator, @inputstr)
end if @inputstr <> '\'
insert @temp values(@inputstr) return
end--测试存储过程
create procedure sp_test (@bm varchar(100))
as
select * from 表 where 字段 in (select * from dbo.fn_split(@bm,','))
go
--调用示例
declare @a varchar(100)
set @a ='b1,b2,b3'
exec sp_test @a