Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server不包含';I don’我没有按预期工作_Sql Server_Full Text Search_Contains - Fatal编程技术网

Sql server SQL Server不包含';I don’我没有按预期工作

Sql server SQL Server不包含';I don’我没有按预期工作,sql-server,full-text-search,contains,Sql Server,Full Text Search,Contains,我有一个地址表,我想用freetext函数来搜索它 SELECT [ID] ,[ID_AddressType] ,[Name1] ,[Name2] ,[Street] ,[Number] ,[ZipCode] ,[City] ,[Country] FROM [TrailerLoadingAssistant].[dbo].[Address] WHERE CONTAINS((Name1, Name

我有一个地址表,我想用freetext函数来搜索它

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

注意:-您可以通过分离两个值来尝试此操作……我不知道列表值包含
'Bier*”或仅包含'Bier'
我通过向
地址
表中添加一个计算列解决了此问题,正如建议的那样。包含所有相关字段的。全文索引现在只考虑此虚拟列。

Microsoft在其文档中声明,由于性能原因,不应添加多个CONTAINS语句,而应使用内联and函数。