我有一个地址表,我想用自由文本功能CONTAINS搜索该地址表。
SELECT [ID]
,[ID_AddressType]
,[Name1]
,[Name2]
,[Street]
,[Number]
,[ZipCode]
,[City]
,[Country]
FROM [TrailerLoadingAssistant].[dbo].[Address]
WHERE CONTAINS((Name1, Name2, Street, Number, ZipCode, City, Country), '"Bier*" AND "742*"')
在我的表中有一个条目,街道名称以Bier开头,邮政编码为742。为什么脚本找不到该条目?如果我将OR替换为OR,则可以使用,但它还会找到其他条目,其中只有一个搜索词可以满足。
答案 0 :(得分:1)
SELECT [ID]
,[ID_AddressType]
,[Name1]
,[Name2]
,[Street]
,[Number]
,[ZipCode]
,[City]
,[Country]
FROM [TrailerLoadingAssistant].[dbo].[Address]
WHERE CONTAINS((Name1, Name2, Street, Number, ZipCode, City, Country), 'Bier*')
AND CONTAINS((Name1, Name2, Street, Number, ZipCode, City, Country), '742*')
注意:-您可以通过将两个值分开来进行尝试。...而且我不知道包含'Bier*' or only 'Bier'
的列表值
答案 1 :(得分:0)
我按照建议的here,通过向我的Address
表中添加了计算列来解决了这个问题。包含所有相关字段。全文索引现在仅考虑此虚拟列。