首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何进行Sql查询,其中包含关键字如和OR ()的搜索词以及这些关键字的组合

如何进行Sql查询,其中包含关键字如和OR ()的搜索词以及这些关键字的组合
EN

Stack Overflow用户
提问于 2020-07-26 07:55:39
回答 1查看 259关注 0票数 0

需求:我们必须开发一个搜索功能,其中用户将输入搜索词到文本框中。这些术语将在表的不同列(标题、描述、注释)中搜索。

举例;

Covid -应该搜索有Covid单词的记录

“7月份的Covid 19”-应该搜索具有“7月份Covid 19”的完全匹配字符串的记录。

Covid或Corona --应该搜索有Covid或word Corona的记录。

科维德和科洛娜-应该搜索有科维德和科洛娜字样的记录。

Corona或Covid和Virus -应该搜索可能有单词Corona但必须有Covid和病毒的记录。

此外,用户可以使这些组合过载。

我们当前的方法:

目前,我们依赖于识别字符串中所有关键字的基本方法,并试图生成相应具有WHERE子句的动态SQL查询。

我们的问题:

我们所采用的方法是非常传统的,而且动态查询的生成以及它的执行都会影响性能。虽然我们经过大量的搜索无法找到任何工作样本,文章,算法,链接,我们相信,应该有更好的方法来实现这一点。因此,寻找这样的指针。

EN

回答 1

Stack Overflow用户

发布于 2020-07-26 08:26:16

如果使用SQLSERVER,在文本中搜索单词或短语的最佳方法是使用全文搜索

在您更改表的结构之前,先将所有列放在一个列中,然后再实现它。

使用全文搜索,您可以搜索:

  • 一个或多个特定的词或短语(简单术语)
  • 以指定文本开头的单词或短语(前缀术语)
  • 特定词的变体形式(代词)
  • 与另一个词或短语(邻近术语)相近的词或短语(同义词)
  • 使用加权值的单词或短语(加权项)

单击这里获取许多示例查询。

下面是全文和喜欢搜索之间的区别:

与全文搜索不同,类似Transact-SQL谓词只适用于字符模式。此外,不能使用LIKE谓词查询格式化的二进制数据。此外,针对大量非结构化文本数据的类似查询要比对相同数据的等效全文查询慢得多。针对数百万行文本数据的相似查询可能需要数分钟才能返回;而对相同数据的完整文本查询可能只需几秒钟或更短的时间,这取决于返回的行数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63102453

复制
相关文章
SQL中的保留关键字
关键字有:(排版有些问题、实际上是一行3个关键字,粘贴过来原来的表格格式丢失了) ADD ALL ALTER ANALYZE AND AS ASC ASENSITIVE BEFORE BETWEEN BIGINT BINARY BLOB BOTH BY CALL CASCADE CASE CHANGE CHAR CHARACTER CHECK COLLATE COLUMN CONDITION CONNECTION CONSTRAINT CONTINUE CONVERT CREATE CROSS CURREN
保持热爱奔赴山海
2019/09/18
5970
MySQL 关键字专题(包含COLLATE)
SQL 是由关键字组成的语言,关键字是一些用于执行 SQL 操作的特殊词汇。在命名数据库、表、列和其他数据库对象时,一定不要使用这些关键字。因此,这些关键字是一定要保留的。
acc8226
2022/05/17
1.5K0
synchronized关键字和volatile关键字的区别
线程原子性是指不能在被拆分的操作。在说的直白点就是我们知道线程在执行时是需要一个前提条件的那就是需要获取到系统CPU的执行资格,虽然线程获取到了执行资格但CPU也可以随时切换,不管线程是否执行完毕。线程原子性就是说如果线程已经获取到了CPU的执行资格,如果线程在没有执行完时,任何线程是不能够中断的。
吉林乌拉
2019/08/14
7520
ClickHouse的字典关键字和高级查询,以及在字典中设置和处理分区数据
ClickHouse字典中的字典关键字用于定义和配置字典。字典是ClickHouse中的一个特殊对象,它存储了键值对数据,并提供了一种在查询中使用这些数据的高效方式。
一凡sir
2023/10/15
1.2K0
ClickHouse的字典关键字和高级查询,以及在字典中设置和处理分区数据
SQL ORDER BY 关键字
ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。
子润先生
2021/07/01
3630
SQL常用关键字
一、SQL语言是一种数据库查询和程序设计语言,主要用于存储数据、查询数据、更新数据和管理关系数据库系统。其最早为IBM公司开发,后背ISO通过为关系数据库语言标准。
vv彭
2020/10/27
1.1K0
elasticsearch查询关键字slop
"query":"fox quick", "slop": 1 可以匹配到 “quick brown fox”
Stanley Sun
2019/09/23
1.6K0
java之this关键字和super关键字的区别
编号 区别点 this super 1 访问属性 访问本类中的属性,如果本类没有此 属性则从父类中继续查找 访问父类中的属性 2 调用方法 访问本类中的方法 直接访问父类中的方法 3 调用构造器 调用本类的构造器, 必须放在本类构造器的第一行 调用父类的构造器, 必须放在子类构造器的第一行 4 特殊 表示当前对象 无此概念
西西嘛呦
2020/08/26
3920
Oracle 中的SELECT 关键字(查询、检索)
检索单个列:select 列名 from 表名; 例:select ename from emp; 检索多个列: select [列1,列2, ... ,列N] from 表名; 例:select ename , sal from emp; 检索所有列:select * from 表名; 例:select * from emp;
星哥玩云
2022/08/18
4.2K0
SQL注入常用函数和关键字总结
这个函数很常用,有三个参数,按顺序分别是字符串,起始位置和长度。可以求指定字符串的子串。当然,第一个参数可以是列的名字。这个函数似乎和mid没有什么不同,如果mid或者substr中的某一个函数被禁了就用另一个。
KevinBruce
2020/08/11
2.9K0
sql注入关键字
按照知识共享署名-非商业性使用 4.0 国际协议进行许可,转载引用文章应遵循相同协议。
逍遥子大表哥
2021/12/17
6040
override关键字和final关键字
override关键字 派生类如果定义了一个函数与基类中虚函数的名字相同但是形参列表不同,编译器将认为新定义的这个函数与基类中原有的函数是相互独立的。这时,派生类的函数没有覆盖掉基类中的版本。 如果我们使用override关键字标记某个函数,但该函数并没有覆盖已存在的虚函数,此时编译器将报错。 class B { virtual void f1(int) const {}; virtual void f2() {}; void f3() {}; }; class D :B //默认私有继承 { vo
大忽悠爱学习
2021/11/15
9170
【静态延迟加载】self关键字和static关键字的区别
上面是一个很经典很普通的工厂模式代码,我们期望的是输出各自手机的品牌名称,但是结果显示的是父类中的品牌名称。这说明我们调用的 self 关键代表的是代码中它所在的那个类 即 Phone 这个类
码缘
2019/06/03
4690
区间/组合/复合/sql查询
$map['id'] = array(array('gt',3),array('lt',10), 'or') ;得到的查询条件是: ( id > 3) OR ( id < 10)
PM吃瓜
2019/08/12
1.1K0
区间/组合/复合/sql查询
php yield关键字以及协程的实现
php的yield是在php5.5版本就出来了,而在初级php界却很少有人提起,我就说说个人对php yield的理解
仙士可
2019/12/19
1.4K2
php yield关键字以及协程的实现
synchronized关键字的工作原理以及使用示例
当我们谈论Java的线程安全时,synchronized关键字是一个重要的概念。它可以用于修饰方法或代码块,以确保线程安全。
一凡sir
2023/08/23
2490
synchronized关键字的工作原理以及使用示例
点击加载更多

相似问题

将SQL子查询转换为LINQ格式,其中包含IN、DISTINCT关键字

10

组,其中text()包含关键字

12

MySQL查询:搜索关键字(如%)

15

如何使用关键字获取sql查询进行计数

13

如何使用某些关键字来查找哪些文章包含这些关键字?

120
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文