提取具有撇号的数据值,但您的输入没有?

时间:2013-04-18 17:34:14

标签: sql sql-server sql-server-2008

我有一个带有列名称标题的表,但数据中有撇号。
我的查询输入参数会从中删除所有撇号,您将如何比较或者等同于获取该行?

select * from authors..atricles where title = 'buyers'
buyer's = 'buyers' or like '%buyers%'

如果用户在页面上输入买家,则会删除',新输入字符串将成为买家。

2 个答案:

答案 0 :(得分:2)

要逃避它,请添加另一个单引号:

WHERE title LIKE '%buyer''s%'

由于您提到您的查询输入参数会删除所有撇号,因此您将使用REPLACE进行搜索:

WHERE REPLACE(title, '''', '') = 'buyers'

以这种方式使用函数会使任何可能的索引无效。

答案 1 :(得分:0)

我认为这应该有效:

SELECT * FROM authors WHERE title LIKE'%buyer%'