如何对全文索引搜索 SQL 的两列执行 CONTAINS()

2024-02-12

我有一个包含以下列的表(MyTable):

Col1:NameID VARCHAR(50) 主键不为空 Col2:地址 VARCHAR(255)

数据示例:

名称:“1 24” 地址:“主街1234号”

在使用默认参数创建目录后,我在表上创建了全文索引。

我怎样才能实现以下查询:

 SELECT * FROM MyTable
 WHERE CONTAINS(NameID, '1')
 AND CONTAINS(Address, 'Main St.');

但我的查询没有返回任何结果,这没有意义,因为这确实有效:

 SELECT * FROM MyTable
WHERE CONTAINS(Address, 'Main St.');

这也是如此:

 SELECT * FROM MyTable
 WHERE CONTAINS(Address, 'Main St.')
 AND NameID LIKE '1%'

但这也行不通:

 SELECT * FROM MyTable
 WHERE CONTAINS(NameID, '1');

当我选择此列包含在其中时,为什么无法查询已索引的主键列(名称) 设置全文索引时的地址栏?

提前致谢!


由于 NameID 字段的类型为 varchar,因此全文可以很好地处理索引。

CONTAINS(NameID, '1') 不返回任何搜索结果的原因是,'1'(以及其他此类小数字)被全文视为干扰词,并在索引期间被过滤掉。

要获取停用词列表,请运行以下查询 -

select * from sys.fulltext_system_stopwords where language_id = 1033;

您需要关闭或修改停止列表,可以找到示例here https://stackoverflow.com/questions/8435602/sql-2008-turn-off-stop-words-for-full-text-search-query.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何对全文索引搜索 SQL 的两列执行 CONTAINS() 的相关文章

  • Collection.Contains() 使用什么来检查现有对象?

    我有一个强类型的自定义对象列表 MyObject 它有一个属性Id 以及一些其他属性 假设Id of a MyObject将其定义为唯一 我想检查我的收藏是否还没有MyObject对象有一个Id在我添加新的之前 共 1 个MyObject到
  • 带附件的数据库电子邮件(excel 文件/pdf 文件)?

    我必须从数据库向我的邮件 ID 发送一封带有附件的邮件 EXEC msdb dbo sp send dbmail profile name Adventure Works Administrator recipients email pro
  • 删除 DB 但不删除 *.mdf / *.ldf

    我正在尝试自动化分离和删除数据库的过程 通过 VBS objshell run 如果我手动使用 SSMS 分离和删除我可以将数据库文件复制到另一个位置 但是如果我使用 sqlcmd U sa P MyPassword S local Q A
  • 在 Array Powershell 中获取新的附加值

    for Get All Files from the Folder FolderItems Get PnPFolderItem FolderSiteRelativeUrl FolderURL ItemType File Write Host
  • 数据转换器 SSIS 数据流组件中相应列的转换数据类型应该是什么?

    我们的一台服务器上有普通的 Microsoft SQL Server 2008 我们决定在文件系统上创建 DTSX 文件 以便我们可以使用 BIDS 2008 打开 DTSX 文件 一种 SSIS 控制流组件 它从 Microsoft SQ
  • 显示包含特定表的所有数据库名称

    我的 SQL Server 中有很多数据库 我必须只搜索包含特定表名的数据库名称Heartbitmaster 我有很多数据库 例如Gotgold DVD等 我只想从包含此表的查询中查找数据库名称Heartbitmaster 我搜索我尝试查询
  • 如何使用sql脚本更改列的属性

    如何使用 sql 脚本更改列的属性 这是我尝试过但出现错误的方法 ALTER TABLE dbo tblBiometricPattern COLUMN BiometricPatternID TINYINT NOT NULL IDENTITY
  • 批量插入不适用于 NULL 数据

    当我从 CSV 文件将批量数据插入到表中时 它不起作用 显示错误 第 2 行第 9 列的批量加载数据转换错误 类型不匹配或指定代码页的字符无效 csv 文件中的第 9 列值为空 我该如何处理这个问题 根据这些信息 我认为目标表的特定字段被定
  • 如何在 SQL Server 中保持数据行内

    我正在尝试找出如何检测数据是否在VARCHAR n SQL Server 2008 中的列存储在行内或行外 有谁知道如何做到这一点 另外 如果我们需要数据 有没有办法将数据保持在行中 要查看某个值是行内还是行外 您可以使用DBCC PAGE
  • SQL Server Like 查询不区分大小写

    Query SELECT from Table 2 WHERE name like Joe Output 1 100 Joe 2 200 JOE 3 300 jOE 4 400 joe 为什么不区分大小写 Problem 查询不区分大小写
  • 如何在 sql server 中加密数据并在 .net 应用程序中解密

    我想加密 sql server 中的一些密码并让 c 应用程序解密它们 显然 我可以创建一个 SP 来解密所需的密码并将其传递给 c 应用程序 但这意味着通过网络发送明文密码 因此 我希望能够在 sql server 中加密我的密码 使用密
  • SqlCommand.Dispose() 在 SqlTransaction.Commit() 之前?

    在提交事务之前处理分配给事务的命令是否有效 我自己测试了以下代码 它似乎工作得很好 但这是一个相当小的例子 所以我正在寻找是否有人确实知道的确认 internal static void TestTransaction try Progra
  • SQL存储过程执行时间差异

    我在 win form 应用程序中遇到奇怪的问题 我正在调用一个存储过程 并且执行大约需要 6 秒 此存储过程接受多个参数 包括一个输出参数 从应用程序级别我使用 Dim dt1 DateTime Now cmd ExecuteNonQue
  • 替换字符串中的多个字符,而不使用任何嵌套替换函数

    我的表中存储了一个方程 我一次获取一个方程 并希望将所有运算符替换为任何其他字符 输入字符串 N 100 6858 6858 N 100 0 2 N 35 运算符或模式 替换字符 输出字符串 N 100 6858 6858 N 100 0
  • <表值函数> 不是可识别的内置函数名称

    我收到此错误 消息 195 第 15 级 状态 10 第 1 行 fnParseName 不是可识别的内置函数名称 对于这个查询 SELECT fnParseName DOCTORFIRSTNAME DOCTORLASTNAME FROM
  • 如何为“%abc%”搜索创建文本索引?

    我想对查询进行索引x like abc 如果我有一个如下表 create table t data varchar 100 我想创建一个索引以便能够有效地执行以下操作 select from t where contains abc 和这个
  • SQL Server 2008 GUID 列全为 0

    我希望这是我做的一个简单的傻事 我的数据库中有一个表 设置如下 column name widget guid data type uniqueidentifier allow nulls false default value newid
  • 比 BMH (Boyer–Moore–Horspool) 更快的算法

    您会使用哪种算法来搜索短文本中的短子字符串 简而言之 我的意思是子字符串有 5 10 个字符 字符串有 255 个字符 我正在考虑根据输入数据长度选择算法 哪种算法对于较长的输入更好 Try Turbo BM http www igm un
  • 如何选择列值不不同的每一行

    我需要运行一个 select 语句 返回列值不不同的所有行 例如 EmailAddress 例如 如果表格如下所示 CustomerName EmailAddress Aaron email protected cdn cgi l emai
  • 在 SQL Server 中获取一周的第一天

    我试图按周对记录进行分组 将聚合日期存储为一周的第一天 然而 我用于四舍五入日期的标准技术似乎无法在几周内正常工作 尽管它可以在天 月 年 季度和我应用的任何其他时间范围内正常工作 这是 SQL select start of week d

随机推荐

  • AWS负载均衡器和维护页面

    我正在使用带有 3 个 EC2 服务器的 AWS 负载均衡器 并且我尝试在站点维护时提供维护页面 该页面需要返回 503 HTTP 代码 因为它是维护模式的正确代码 可以防止 SEO 可能出现的问题 当我从任何服务器返回 503 代码时 负
  • 如何在django中保存多对多关系

    如何为具有多对多字段的 Django 模型创建对象 https stackoverflow com questions 6996176 how to create an object for a django model with a ma
  • 如何绕过 Marshal.Copy(32 位)长度限制?

    我正在尝试在托管 C 和非托管 C Win32 代码之间来回移动数据 我可以用Marshal Copy它工作得很好 直到数据集变得更大 gt 2GBMarshal Copy有符号 32 位 int 2GB 长度限制 知道如何解决这个问题吗
  • 如何在 django 管理界面中添加带有超链接的自定义列?

    我有一个 django 管理界面 在模型列表中我想要一个自定义列 该列将是使用其中一个字段值的超链接 基本上 模型的字段之一是 url 我希望该列在可点击的超链接中包含该 URL 该链接需要在其前面添加额外的 URL 作为其在模型字段中的相
  • 以编程方式获取无线接入点列表

    这是一个一般性的编程问题 尽管我更喜欢Node js 齿轮解决方案 是否有任何 JavaScript 或 NET API 用于检索无线接入点列表及其相关数据 SSID MAC 地址等 我用了篡改数据看看当您与 Firefox 共享您的位置并
  • strcmp 不工作

    我知道这可能是一个完全新手的问题 我已经很长一段时间没有接触过 C 了 但是有人可以告诉我为什么这不起作用吗 printf Enter command bzero buffer 256 fgets buffer 255 stdin if s
  • 我必须将 .aar 文件作为库添加到 Android studio 的子项目中。它给了我一个错误。

    我已将 aar 文件添加到子项目中的 libs 文件夹中 并将存储库指定为 repositories mavenCentral mavenLocal flatDir dirs libs 在这个子项目的build gradle中 我还需要在主
  • Apollo 的 Check-and-run-apollo-codegen.sh 不起作用?

    我正在尝试在我的 iOS 项目中安装 Apollo 我按照此处的说明进行操作 https www apollographql com docs ios installation html https www apollographql co
  • 为什么我的所有函数都在运行,即使我只调用一个模块中的一个函数?

    我有以下代码Test fs file namespace Testing module test1 let Run printfn Test1 module test2 let Run printfn Test2 In my Program
  • 为什么 Hibernate 转而使用 LONG 而不是 CLOB?

    看起来 Hibernate 开始使用LONG版本 3 5 5 我们从 3 2 7 升级 中的数据类型而不是CLOB为 的财产type text 这导致了以下问题LONGOracle 中的数据类型是一种过时的数据类型 请参阅http www
  • OnItemClickListener 使用 ArrayAdapter 用于 ListView

    我想要为使用 ArrayAdapter 创建的 ListView 提供一个 OnItemClickListener 这是我用来创建它的代码 List
  • 我想以一种不同的方式分解变量[重复]

    这个问题在这里已经有答案了 我有这个变量 var A B C D 1 2 3 4 5 6 E F 我想分解它以获得以下数组 array 0 gt A 1 gt B 2 gt C 3 gt D 4 gt 1 2 3 4 5 6 5 gt E
  • MySql UTF 编码

    java sql SQLException Incorrect string value xAC xED x00 x05sr for column xxxx 该列是 MYSQL 中的长文本 具有 utf8 字符集和 utf8 general
  • MySQL 警告:错误的字符串值:'\x96

    我正在尝试导入 CVS 文件 但收到此警告 1366 错误的字符串值 列的 x96 PART 我在某处读到这是关于 4 位 utf8 字符的 但是将表和列的排序规则更改为 utf8mb4 也不起作用 The hex 96大概是latin1编
  • Symfony2:在表单集合中自定义表单标签

    我正在尝试自定义在子表单中生成的表单标签 我想显示特定比赛周中包含的足球比赛 如下所示 Fixture 1 Manchester United 0 1 Arsenal Fixture 2 Chelsea 2 1 Liverpool 我的表单
  • 如何附加到 Visual Studio Code 中的特定进程

    当我在 VSC 中调试 net core 项目时 系统会要求我提供要附加的进程 ID 这显示了一长串正在运行的进程 我可以在其中键入或滚动以查找特定进程 每次我想调试时如何附加到特定的同一进程 在 Visual Studio 代码中 您的调
  • 每 40 毫秒执行一次 php 脚本?

    有没有办法每 40 毫秒执行一次 php 脚本 我不知道cronjob是否是正确的方法 因为每秒25次需要大量CPU 那么 如果 php 不是正确的语言 我应该使用什么语言 我正在制作一个在线游戏 但我需要一些东西来处理游戏中发生的事情 移
  • 在远程服务器上安装 Xdebug (bluehost.com)

    我已经在我的 mac 上安装并运行了 xdebug 但我似乎无法将其安装在我的服务器 bluehost com 服务器 上 我已经尝试了很多年 并希望得到任何可能的帮助 基本上我已经下载了 xdebug so 并将其安装在我的 public
  • ARM 上的 Windows RT 本机代码调用约定是什么?

    我找不到任何有关 Visual Studio C 使用的 Windows RT on ARM 调用约定的文档 微软用的是ARM吗AAPCS http infocenter arm com help topic com arm doc ihi
  • 如何对全文索引搜索 SQL 的两列执行 CONTAINS()

    我有一个包含以下列的表 MyTable Col1 NameID VARCHAR 50 主键不为空 Col2 地址 VARCHAR 255 数据示例 名称 1 24 地址 主街1234号 在使用默认参数创建目录后 我在表上创建了全文索引 我怎