SQL模糊查询语句拼接时单引号'问题

下面以存储过程查询所有为例,非存储过程(或不是查询所有将*替换为你想要查询的列即可)更为简单,

语法:select * from 表名 where 列名 like '%条件%' 

拼接后的set @变量名 = 'select * from 表名 where ' + @条件 + ' like' + '''' + '%' + @传入的值 + '%'+''''       --①

例如:set @str = 'select * from Manger where ' + @tiaojian + ' like' + '''' + '%' + @value + '%'+'''' 中 '''' 第一个'和最后一个'代表的意思与like外的单引号'相同,而相当于C#中的字符串拼接的标识---"。中间的''(两个单引号)才代表单引号,因为SQL语句不支持"(双引号),写''两个的原因就是识别出'是要用往like后面、%前面的单引号'(例如:like'%),①最后的''''与上面同理。

这样就理解了为什么是''''(4个单引号)

posted @ 2019-03-03 21:03  黑夜的宠儿  阅读(3729)  评论(1编辑  收藏  举报