看了相关文档, charindex 只是找字符串的位置。 declare @test varchar(50) set @test = 'test1, test2, test3' 请问怎么写下面这句 select * from Table1 where column in (@test) 可是我想要的效果是 column 列中分别有 test1 或者 test2 或者 test3 而这句只会返回有 test1 的 select * from Table1 where charindex(','+[column]+',',','+@test+',')>0
exec('select * from Table1 where column in ('+@test+')')
Set @test = REPLACE(@test,',',''',''') exec('select * from Table1 where id in ('''+@test+''')')
create table table1(columns varchar(50)) insert table1 select 'test01'union all select 'test'union all select 'test1'union all select 'test2' select * from table1 declare @test varchar(50) set @test = 'test1, test2, test3' select * from Table1 where CHARINDEX(','+@test+',',','+'columns+',0)>0select CHARINDEX(','+@test+',',','+'columns+',0) from table1
declare @test varchar(50)
set @test = 'test1, test2, test3' 请问怎么写下面这句
select * from Table1 where column in (@test)
可是我想要的效果是 column 列中分别有 test1 或者 test2 或者 test3
而这句只会返回有 test1 的
select * from Table1 where charindex(','+[column]+',',','+@test+',')>0
exec('select * from Table1 where column in ('+@test+')')
exec('select * from Table1 where id in ('''+@test+''')')
create table table1(columns varchar(50))
insert table1
select 'test01'union all
select 'test'union all
select 'test1'union all
select 'test2'
select * from table1 declare @test varchar(50)
set @test = 'test1, test2, test3'
select * from Table1 where CHARINDEX(','+@test+',',','+'columns+',0)>0select CHARINDEX(','+@test+',',','+'columns+',0) from table1