表a
ID NAME
1 XX
2 XX1
3 XX2
4 XX3
在存储过程中,传递参数为ID或ID串和一个标识Flag
IF(Flag = 0) --表明传递的是一个ID, 比如ID为 1
IF(Flag = 1) --表明传递的是一个ID串,比如ID串 为: 1,2,3
请问我该如何根据ID来查询?
ID NAME
1 XX
2 XX1
3 XX2
4 XX3
在存储过程中,传递参数为ID或ID串和一个标识Flag
IF(Flag = 0) --表明传递的是一个ID, 比如ID为 1
IF(Flag = 1) --表明传递的是一个ID串,比如ID串 为: 1,2,3
请问我该如何根据ID来查询?
--这种情况好办IF(Flag = 1) --表明传递的是一个ID串,比如ID串 为: 1,2,3
--这种情况你可以先把1,2,3放到一个表变量里:@t(id)
1
2
3然后则可查询, select * from YourTable where ID in(select id from @t)
insert @a select 1 ,'001', 'AAAAAA'
union all select 2, '002', 'BBBBBB'
union all select 3, '003', 'CCCCCC'declare @s varchar(10)
set @s='1,3'
select * from @a where charindex(','+ltrim(id)+',',','+@s+',')>0