0
我試圖寫一些代碼基於在SQL Server(2008+)SQL文本比較 - 處理多種類型的撇號
列,我們的部分/完整輸入匹配搜索varchar字段和比賽結果搜索是一個NVARCHAR列,因此支持多種撇號和引號。這些措施包括,但可能不限於:
- '正常' 撇號 - '
- 右單引號 - '
- 左單引號 - 「
同樣有各種雙引號需要考慮......
用戶可以輸入任何單引號,並且我想返回包含該s的任何變體的結果單字符,雙引號相同。
就像一個_CI歸類爲「E」進行搜索時將返回結果爲「E」或「E」,和_AI歸類爲「A」進行搜索時將返回A或A成果,是有沒有會忽略引號變化的整理?
目前的解決方法是要做到:
WHERE my_field LIKE REPLACE(REPLACE(REPLACE(REPLACE(search_term, CHAR(145), CHAR(39)), CHAR(146), CHAR(39)), CHAR(147), CHAR(34)), CHAR(148), CHAR(34))
(是不是可擴展性和可怕閱讀)
謝謝 - 我們可能會更進一步(最終),並在應用程序服務器上創建Lucene搜索。我希望在此期間進行快速修復!我將研究FTS的潛在缺點(例如它是否會影響寫入時間?)並考慮這一點。 – JLo