SQL内模糊查询语句拼接时单引号'问题
程序员文章站
2023-02-21 11:51:13
下面以存储过程查询所有为例,非存储过程(或不是查询所有将*替换为你想要查询的列即可)更为简单, 语法: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个单引号)
上一篇: c# 委托的进化
下一篇: cvte前端笔试后的js原型总结