带参的sql like 语句怎么写,高手指点?
以下是我写过的两种都为:
一.
(存过程)
select * from tablename
where name like %@name%
使用这种无法查询到任何数据
二.
(存过程)
select * from tablename
where name like @name
然后在页面中是这样传值的
cmd.parameter.add("@name",SqlDataType.varchar).value="%"+name+"%";
这种方式也法达到效果,而是出现了一个奇怪的现象.
那就是,当你输入的关键字与要查询字段数据的长度达到比列时,出能查出数据,否则查不任何数据.
...全文
76226打赏收藏
模糊查询问题sql like 语句
带参的sql like 语句怎么写,高手指点? 以下是我写过的两种都为: 一. (存过程) select * from tablename where name like %@name% 使用这种无法查询到任何数据 二. (存过程) select * from tablename where name like @name 然后在页面中是这样传值的 cmd.parameter.add("@name",SqlDataType.varchar).value="%"+name+"%"; 这种方式也法达
现在我加了引号,还是无法查询出数据来
sql语句如下:
create procedure sbcs_getProductByKey
@keyword char(20)
as
select ProName, ProId,ProPrice,UserName from Product_Tab,User_Tab
where User_Tab.UserId=Product_Tab.UserId and ProName like '''%'+@keyword+'%'''
go
这个没有语法错误,但就是查询不…
[/Quote]
SQL code
select * from tablename
where name like ''%'+@name+'''
--OR
declare @sql nvarchar(1000)
set @sql='select * from tablename where name like ''%@name'''
exec sp_executesql @sql,N'@name varchar(50)',@name
[/Quote]
赞一个!
正解
这是用字符串连接起来的
[/Quote]
现在我加了引号,还是无法查询出数据来
sql语句如下:
create procedure sbcs_getProductByKey
@keyword char(20)
as
select ProName, ProId,ProPrice,UserName from Product_Tab,User_Tab
where User_Tab.UserId=Product_Tab.UserId and ProName like '''%'+@keyword+'%'''
go
这个没有语法错误,但就是查询不出数据来.
AS
select * from renyuan where PNo like '%'+@Keyword +'%'
or PName like '%'+@Keyword +'%'
or Department like '%'+@Keyword +'%'
or sex like '%'+@Keyword +'%'
or InsuranceJob like '%'+@Keyword +'%'
or banzu like '%'+@Keyword +'%'
order by xh
GO
declare @like varchar(50)
declare @sql varchar(500)
set @like = 'ojlovecd'
set @sql ='select * from UserInfo where UserName like ''%' + @like + '%'''
exec(@sql)