2011-11-14 29 views
0

也許這是一個愚蠢的問題。像SQL自由文本搜索

如何在SQL實現「LIKE‘%測試%’使用自由文本?

我想包含和自由文本等同於」 LIKE「%測試%」,加上一個GET的語法檢查和性能。

在我的情況,我有:

select * from ServiceOfferResultIndexed where contains(FirstName,'test') 

這給了我18

rows.select * from ServiceOfferResultIndexed where FirstName like '%test%' 

,給了我229行。

感謝您的幫助。

該數據庫是MS SQL 2005.我認爲它支持*作爲後綴。它接吻,如果我提供''*測試''*被認爲是一個單詞而不是通配符。測試成爲以下單詞。

包含將僅支持「test *」,其中它會查找以'test'開頭並跟隨任何其他字符的所有短語。

+0

您使用的數據庫是? – Oded

回答

2

這些是兩個不同的表達式。 LIKE '%test%'將會找到這四個字符在一起的任何行(例如,證言或參賽者),其中contains將在單詞上匹配。

我不知道你使用的是什麼全文引擎,但通常支持通配符。例如,如果使用contains(firstame, '*test*'),會發生什麼情況?您必須在自由文本搜索中查閱您的特定dbms文檔的通配符。

相關問題