我有一个带有列名称标题的表,但数据中有撇号。
我的查询输入参数会从中删除所有撇号,您将如何比较或者等同于获取该行?
select * from authors..atricles where title = 'buyers'
buyer's = 'buyers' or like '%buyers%'
如果用户在页面上输入买家,则会删除'
,新输入字符串将成为买家。
答案 0 :(得分:2)
要逃避它,请添加另一个单引号:
WHERE title LIKE '%buyer''s%'
由于您提到您的查询输入参数会删除所有撇号,因此您将使用REPLACE
进行搜索:
WHERE REPLACE(title, '''', '') = 'buyers'
以这种方式使用函数会使任何可能的索引无效。
答案 1 :(得分:0)
我认为这应该有效:
SELECT * FROM authors WHERE title LIKE'%buyer%'