我想知道如何在全文搜索中排除撇号。
例如,如果有人输入搜索词“o'brien”或“obrien”,我希望它能匹配所有姓名为“O'Brien”或“OBrien”的情况。
但是,如果我搜索:
select * from MyTable where contains (fullName, '"o''Brien*"')
它只返回带撇号的单词。 但如果我这样做:
select * from MyTable where contains (fullName, '"oBrien*"')
它只返回没有撇号的那些。
简而言之,我想知道是否可能让FTS将“O'Brien”和“OBrien”都索引为“obrien”,以便我可以找到两者。
虽然解决方案是:
select * from MyTable where contains (fullName, '"oBrien*" OR "o''Brien*"')
如果用户输入了“obrien”,那么原来的方法可能行不通。
我正在寻找一种既适用于SQL Server 2005,又适用于SQL Server 2008的解决方案。