sql - oracle中Like和Contains()搜索条件的区别

标签 sql oracle

我创建了一个包含两列的表格。我插入了两行。

id     name
1      narsi reddy
2      narei sia

一个是简单的数字类型,另一个是 CLOB 类型。所以我决定对其使用索引。我通过使用 contains 查询了这一点。 查询:

select * from emp where contains(name,'%a%e%')>0

2      narei sia

我预计会有 2 个人来,但没有。但如果我给予同样的东西,它就给出了我想要的东西。 查询:

select * from emp where name like '%a%e%'

ID                     NAME                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
1                      (CLOB) narsi reddy                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
2                      (CLOB) narei sia                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 

2 rows selected

最后我明白了,like 是搜索整个文档或段落,而 contains 是在单词中查找。

那么我怎样才能获得所需的输出?

最佳答案

LIKE 和 CONTAINS 是根本不同的搜索方法。

LIKE是一个非常简单的字符串模式匹配器 - 它识别两个通配符 (%) 和 (_),分别匹配零个或多个或恰好一个字符。在您的情况下, %a%e% 匹配表中的两条记录 - 它查找零个或多个字符,后跟 a,后跟零个或多个字符,后跟 e ,后跟零个或多个字符。它的返回值也非常简单:它要么返回“匹配”,要么返回“不匹配”——没有灰色阴影。

CONTAINS是一个使用上下文索引的强大搜索工具,它构建了一种可以使用 CONTAINS 搜索语法进行搜索的单词树。它可以用于搜索单个单词、单词组合,并且具有自己丰富的语法,例如 bool 运算符(AND、NEAR、ACCUM)。它还更强大,因为它不是返回简单的“匹配”或“不匹配”,而是返回一个“分数”,可用于按相关性顺序对结果进行排名;例如CONTAINS(col, 'dog NEAR cat') 将为这两个单词都靠近的文档返回更高的分数。

关于sql - oracle中Like和Contains()搜索条件的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5700795/

相关文章:

windows - 更改几行后 SQLRowCount 的行为发生变化

c# - 键 'data source' 的值长度超过了它的限制 '128'

oracle - 类型关键字。帮助我在 plsql 中解释这段代码?

sql - 如何检查 SQL 查询中子查询中值的出现

PHP 变量在 SQL 查询中不起作用?

sql - 使用从特定数字开始的新数字字符串更新数字列

java - Oracle:加载java类时如何避免 "java session state cleared"错误?

sql - 合并两个数据透视表 SQL Server

sql - 多语句表值函数与内联表值函数

java - 数据更改通知性能影响