欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-05-27 22:09:49
下面以存储过程查询所有为例,非存储过程(或不是查询所有将*替换为你想要查询的列即可)更为简单, 语法:select * from 表名 where 列名 like'%条件%' 拼接后的set @变量名 = 'select * from 表名 where ' + @条件 + ' like ' + '' ......

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

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

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

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

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