[英]Query returns different results
我有2個查詢(我相信他們必須返回相同數量的行:)):
1。
SELECT NAME
FROM myDataBase.myTable
WHERE CONTAINS(NAME, 'ABC')
2。
SELECT NAME
FROM myDataBase.myTable
WHERE NAME LIKE '%ABC%'
但實際上我有以下結果(例如):
對於(1.)查詢
並為(2.)查詢
所以我的問題是:為什么會發生? 我做錯了什么? :)
PS我是Sql Server的新手和它的功能,所以我理解這是我缺乏理論,沒有找到任何關於這個問題,所以決定問
CONTAINS是一個全文謂詞,根據當前語言的斷字規則在全文索引中查找單詞“ABC”。
LIKE掃描列。
所以LIKE會找到'XABCX',而CONTAINS則不會。
CONTAINS使用全文搜索引擎。
完全有可能在該查詢的運行之間重建FTS索引。 如果是這種情況,那么我會期待你看到的結果。
因此,要么不使用FTS,要么將FTS人口計划更改為更可接受的程度。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.