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

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

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

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

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

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

猜你喜欢

转载自www.cnblogs.com/bkyqtr/p/10467580.html
今日推荐