我正在尝试在数据库中搜索像Obrien这样的关键字,结果也应该返回O'Brien的所有记录。我尝试过全文搜索MySql。它的问题是结果集只能保留1条记录,但全文功能要求结果集包含最多3条记录或50%的匹配结果。
有人知道怎么做吗?
答案 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,也可以使用。
谢谢大家。希望这有助于某人。