select * from table where name like ''%'+''+@name+''+'%''
定义的变量类型可能不对,很可能是char 类型的,后面就多出空格来了
select * from table where name like '%'+Ltrim(rtrim(@name))+'%'
可以的,楼主可能写错什么地方了create table #tmp( v_1 varchar(10), name varchar(20) ) insert into #tmp values('704001','Jason') insert into #tmp values('704002','Alert') insert into #tmp values('704003','Windy') insert into #tmp values('704004','Julyana') select * from #tmp declare @name varchar(10) set @name = 'jason' select * from #tmp where #tmp.name like '%'+@name+'%' drop table #tmp
1 左右有空格,所以需要rtrim(ltrim(@name))一下2 如果你这句话是被当作字符串的,那么需要这样写like ''%'+''+@name+''+'%''
v_1 varchar(10),
name varchar(20)
)
insert into #tmp values('704001','Jason')
insert into #tmp values('704002','Alert')
insert into #tmp values('704003','Windy')
insert into #tmp values('704004','Julyana')
select * from #tmp
declare @name varchar(10)
set @name = 'jason'
select * from #tmp where #tmp.name like '%'+@name+'%'
drop table #tmp