SQL 服务器 CONTAINS 未按预期工作

SQL Server CONTAINS doesn't work as expected

我有一个地址 table,我想使用自由文本功能 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*"')

在我的table中,有一个条目,其中街道名称以Bier 开头,邮政编码以742 开头。为什么脚本找不到该条目?如果我用 OR 替换 AND,它会起作用,但它也会找到其他条目,其中只满足一个搜索条件。

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*')

注意:- 你可以试试这个,把两个值分开....我不知道第 table 列的值包含 'Bier*' or only 'Bier'

我按照建议 here 向我的 Address table 添加了一个计算列,从而解决了这个问题。其中包含所有相关字段。全文索引现在只考虑这个虚拟列。