使用撇号搜索记录

时间:2010-08-26 14:32:52

标签: mysql

我正在尝试在数据库中搜索像Obrien这样的关键字,结果也应该返回O'Brien的所有记录。我尝试过全文搜索MySql。它的问题是结果集只能保留1条记录,但全文功能要求结果集包含最多3条记录或50%的匹配结果。

有人知道怎么做吗?

2 个答案:

答案 0 :(得分:0)

你可以做点什么:

REPLACE(name,'''','')

我测试了它:

DECLARE @name VARCHAR(10)
SELECT @name = 'O''brien'

SELECT @name as "pre", REPLACE(@name, '''', '') as "post"

并且它为前列提供了奥布莱恩和后列的奥布莱恩。

从OP回复后编辑:
试试这个

SELECT TOP 1 *
FROM table
WHERE REPLACE(name, '''', '') = REPLACE(searchString, '''', '')

答案 1 :(得分:0)

非常感谢您的回复。真的很感谢你的帮助。我试过这个,它对我有用。我从这个网站获得了这个解决方案。

标题:Apostrophes和SQL Server FT搜索

“Alistair Knock”建议的最后一个解决方案

SELECT姓氏 从表 姓氏LIKE'%value%' 或替换(姓氏,''','')LIKE'%value%'

即使未启用FT,也可以使用。

谢谢大家。希望这有助于某人。