有人可以向我解釋這個嗎?我有兩個查詢以及他們的結果。SQL包含問題
查詢:
select * from tbl where contains([name], '"*he*" AND "*ca*"')
結果集:
赫茲租車
Hemingyway的小酒吧
查詢:
select * from tbl where contains([name], '"*he*" AND "*ar*"')
結果集:
什麼
釷第一個查詢是我期望的,但是我期望第二個查詢返回「Hertz Car Rental」。我從根本上誤解'*'如何在全文搜索中起作用?
謝謝!
+1'*'通配符只能用於前綴匹配,模式字符串中的第一個必須在第一個示例中被忽略。 @hatchet是正確的推薦使用LIKE來代替這個用法(或者只是將通配符全部放在一起,如果你真的想要「模糊」匹配?) – brandx
我想我是從根本上誤解了一切,不是我。澄清。我想我們會去搜索前綴,因爲我們已經確定LIKE不夠高性能。 –