ALTER PROCEDURE dbo.sp_select ( @p char(7)='%' ) as declare @sql varchar(8000) set @sql=' select g.w ,c.t from g, c where g.p like ''%'+@p + '%'' and c.p like ''%' + @p + '%''' exec(@sql)
p必须指定为varchar型,这样可以使p接受到的值没有尾随空格.
还是不行啊。 1)我把p指定为varchar型 2)where g.p like '%'+@p + '%' and c.p like '%' + @p + '%''老样子,不行。
to : neu724() 下划线也不行啊
select g.w ,c.t from g, c where g.p like '%'+ @p+'%' and c.p like '%'+@p+'%'
ALTER PROCEDURE dbo.sp_select ( @p Varchar(255) ) as select g.w ,c.t from g, c where g.p like '%'+ @p+'%' and c.p like '%'+@p+'%' 哈哈,帮不了你了
我也认为应该写成where g.p like '%'+ @p+'%' and c.p like '%'+@p+'%' 但试过了,真的不行。巨困惑
问题解决了。原来是要去掉空格。 where g.p like '%'+ trim(@p+)'%' and c.p like '%'+trim(@p)+'%'
(
@p char(7)='%'
)
as
declare @sql varchar(8000)
set @sql='
select g.w ,c.t
from g, c
where g.p like ''%'+@p + '%'' and c.p like ''%' + @p + '%'''
exec(@sql)
1)我把p指定为varchar型
2)where g.p like '%'+@p + '%' and c.p like '%' + @p + '%''老样子,不行。
下划线也不行啊
from g, c
where g.p like '%'+ @p+'%' and c.p like '%'+@p+'%'
(
@p Varchar(255)
)
as
select g.w ,c.t
from g, c
where g.p like '%'+ @p+'%' and c.p like '%'+@p+'%'
哈哈,帮不了你了
但试过了,真的不行。巨困惑
where g.p like '%'+ trim(@p+)'%' and c.p like '%'+trim(@p)+'%'