我遇到了SQL全文索引的一個奇怪問題。基本上我正在搜索一個用於存放電子郵件地址的列。似乎正如我所測試的所有情況一樣工作,除了一個!SQL的奇怪問題包含 - 忽略字符串的起始字符
SELECT *
FROM Table
WHERE CONTAINS(Email, '"[email protected]"')
因爲這是完全無視上面的「電子郵件」一部分,而不是做
SELECT *
FROM Table
WHERE CONTAINS(Email, '@me.com')
現在只有我能找到,這是發生了一個案件有一定的電子郵件地址。我重新編制了索引,但沒有喜悅。也重建目錄。
任何想法??
編輯: 我不能把某人的電子郵件地址放在公共網站上,所以我會給出更合適的例子。導致此問題的一個的形式爲:
[email protected]
當我做
WHERE CONTAINS(Email, "'[email protected]"')
其中返回匹配的行都是形式.*@somedomain.net.au
的。即它忽略了a.b.c
部分。
我們展示的數據/一個簡單的 '非' 工作的例子吧。 –
'WHERE Email LIKE'%email @ me.com%''工作嗎?另外,如果你正在尋找一個確切的值,爲什麼不使用等號運算符('WHERE Email ='email @ me.com')來比較它呢?在你的第一個例子中,你有單引號和雙引號,爲什麼? –
已添加示例。是的,像運營商工作正常。我可能正在查找確切的值,但該列是用分號分隔的電子郵件地址列表。 – Umair