gpt4 book ai didi

SQL Server - 包含查询

转载 作者:行者123 更新时间:2023-12-02 01:06:58 24 4
gpt4 key购买 nike

使用 SQL Server 2014 和以下数据:

ID          Address         City            State
1 55 Main St Dallas TX
2 4 Elm Blvd Cupertino CA
3 66 Walnut Miami FL
4 21 Main Ave Cupertino CA

我正在尝试使用跨多个列的包含查询来查找匹配项,但无法找出正确的语法。在这种情况下,我有查询部分:

CONTAINS ((Address, City, State), '"main" or "cupertino")

这将返回行 #1、#2 和 #4。

我也可以试试这个:

CONTAINS ((Address, City, State), '"main" and "cupertino")

这不会返回任何行。

不过,我想弄清楚的是,如何使用包含查询使用搜索词“main”和“cupertino”仅返回第 4 行。

所以基本上,我正在尝试执行以下操作,但使用包含查询:

WHERE (Address LIKE '%main%' OR City LIKE '%main%' OR Zip LIKE '%main%') AND (Address LIKE '%cupertino%' OR City LIKE '%cupertino%' OR Zip LIKE '%cupertino%')

谢谢!

最佳答案

CONTAINS() 的表达式是在每一列上独立计算的(正如您可能已经猜到的那样)。一种解决方案是尝试:

CONTAINS((Address, City, State), '"main"') AND
CONTAINS((Address, City, State), '"cupertino"')

更传统的方法是添加一个计算列并将其用于索引:

alter table t add acs as (Address + ' ' + City + ' ' + State) persisted;

然后在该列上建立索引。

关于SQL Server - 包含查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47128449/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com