存储过程的参数带单引号怎么传递?

天下在我心 2016-12-09 10:38:52
我有一个存储过程,需要用到模糊查询。
select * from tableName where Content like '%参数%'
这个参数可能是这样内容的字符串 userID=‘36C2A876-E439-495F-8604-934E7342CB77’
需要把类似这样的带入做模糊查询
存储过程需要怎么做?
数据库为SQLSERVER 2008
...全文
659 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
天下在我心 2016-12-09
  • 打赏
  • 举报
回复
用2楼的方法解决了,传入的参数事先把一个单引号替换为两个就行。谢谢.
卖水果的net 2016-12-09
  • 打赏
  • 举报
回复
楼主是要把参数做为条件的一部分,还是参数就是一个值?
道素 2016-12-09
  • 打赏
  • 举报
回复

DECLARE @s VARCHAR(100)='userID=''36C2A876-E439-495F-8604-934E7342CB77'''
;WITH tableName(Content) AS(
  SELECT 'aaaaauserID=''36C2A876-E439-495F-8604-934E7342CB77''uuuuuu'
)
select  * from tableName where Content like '%'+@s+'%'

道素 2016-12-09
  • 打赏
  • 举报
回复
一个单引号变成两个

WITH tableName(Content) AS(
  SELECT 'aaaaauserID=''36C2A876-E439-495F-8604-934E7342CB77''uuuuuu'
)
select  * from tableName where Content like '%userID=''36C2A876-E439-495F-8604-934E7342CB77''%'

Content -------------------------------------------------------- aaaaauserID='36C2A876-E439-495F-8604-934E7342CB77'uuuuuu
卖水果的net 2016-12-09
  • 打赏
  • 举报
回复

create table test(name varchar(30))
go
insert into test values('ABD'),('ABC'),('ACC')
go
declare @par varchar(10)
set @par = 'C'
select * from test where name like '%' + @par + '%'
go
drop table test 
go

(3 行受影响)
name
------------------------------
ABC
ACC

(2 行受影响)


22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧