22,300
社区成员




Create Proc fun_A(@ids varchar(100))
as
Select * from table_a where id in(@ids)
---可是此处传的值是这样的 '1,2,3'
---这样就出问题了 sql把他当成一个字符串整体了 不考虑拼接sql语句(语句有点复杂)的情况下有没有简单的办法 解决 而且id为int
@@IDENTITY
Create Proc fun_A(@ids varchar(100))
as
EXEC('Select * from table_a where id in('+@ids+')')
---可是此处传的值是这样的 '1,2,3'
---这样就出问题了 sql把他当成一个字符串整体了 不考虑拼接sql语句(语句有点复杂)的情况下有没有简单的办法 解决 而且id为int
select b.Name from (
select val=convert(xml,'<row>'+replace(@str,',','</row><row>')+'</row>')) a
Cross Apply (Select Name=T.c.value('./text()[1]', 'nvarchar(max)') from a.[val].nodes('//row') as T(c) ) b