我正在搜索數據庫中的關鍵字,如Obrien,結果應該也會用O'Brien返回所有記錄。我已經嘗試過全文搜索MySql。問題在於結果集只能記錄1條記錄,但全文特徵要求結果集包含3條記錄或50%的匹配結果。搜索帶撇號的記錄
有誰知道如何做到這一點?
我正在搜索數據庫中的關鍵字,如Obrien,結果應該也會用O'Brien返回所有記錄。我已經嘗試過全文搜索MySql。問題在於結果集只能記錄1條記錄,但全文特徵要求結果集包含3條記錄或50%的匹配結果。搜索帶撇號的記錄
有誰知道如何做到這一點?
你能不能做這樣的事情:
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, '''', '')
感謝您的快速響應。我試過這個解決方案,但是我要找的 是輸入搜索字符串作爲「Obrien」,並期望結果顯示「Obrien」和「O'Brien」的記錄。 – peace 2010-08-26 15:45:40
非常感謝你對你的迴應。真心感謝您的幫助。我試過這個,它爲我工作。我從這個網站本身得到了這個解決方案。
標題:撇號和SQL Server FT搜索
最後的解決方案是由 「阿利斯泰爾敲門」,這是
SELECT姓 FROM表 建議WHERE姓LIKE '%值%' 或更換(姓氏,'''','')LIKE'%value%'
即使FT未啓用,這也可以工作。
謝謝大家。希望這有助於某人。
爲什麼不直接忽略其他結果呢?另外,你如何確定第一個結果是你正在尋找的? – 2010-08-26 14:35:05
對不起,如果我的問題不清楚。我的意思是,結果只能包含1個匹配項,並且這是mysql全文搜索不顯示此單個匹配的地方 – peace 2010-08-26 15:50:10