Oracle instr()函数替代like实现模糊查询

需要查询One Table中的Message栏位中的值是否包含在Two Table的Message栏位中:

select a.Message,b.Message from One a , Tow b where instr(a.Message,b.Message)>0;(b.Message包含在a.Message中)

instr(title,‘Oracle’)>0 相当于like

instr(title,‘Oracle’)=0 相当于not like

时间: 2024-10-05 05:39:09

Oracle instr()函数替代like实现模糊查询的相关文章

oracle instr函数用法和(oracle 用instr 来代替 like)

最近项目中出现oracle instr函数,于是在网上找了一下关于它的资料. Oracle中INSTR和SUBSTR的用法 Oracle中INSTR的用法: INSTR方法的格式为 INSTR(源字符串, 要查找的字符串, 从第几个字符开始, 要找到第几个匹配的序号) 返回找到的位置,如果找不到则返回0. 例如:INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符串为'CORPORATE FLOOR',在字符串中查找'OR',从第三个字符位置开始查找"OR"

oracle instr函数使用

INSTR(源字符串, 目标字符串, 起始位置, 匹配序号) :在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置.只检索一次,就是说从字符的开始到字符的结尾就结束. 一.语法如下: instr( string1, string2 [, start_position [, nth_appearance ] ] ) 1>参数分析:  ①string1:源字符串,要在此字符串中查找. ②string2:要在string1中查找的字符串.  ③start_position

Oracle数据库,忽略大小写Like模糊查询(SQL Server,MySql原理相同)

背景 在使用Oracle或者其它数据库时,使用like 关键字进行模糊查询是大家经常使用的功能,在纯中文环境中使用非常好用,还有一些通配符可以使用,但是在纯英文环境中,会出现大小需要精确匹配的问题,主要原因还是字符串的问题 FL like '%{0}%' and 这里like后是一个字符串,这样必然会有大小敏感的问题.比如如下的大小混编的字段 解决方案 方案1 使用Oracle系统函数对需要查询的列字符串进行小写转换(大写也行,变量相关部分都是大写转换),如下所示: select * from

oracle instr函数详解

INSTR (源字符串, 目标字符串, 起始位置, 匹配序号) 在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置.只检索一次,就是说从字符的开始 到字符的结尾就结束. 语法如下: instr( string1, string2 [, start_position [, nth_appearance ] ] ) 参数分析: string1 源字符串,要在此字符串中查找. string2 要在string1中查找的字符串. start_position 代表strin

oracle instr 函数的使用

在Oracle中 可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符. 在一个字符串中查找指定的字符,返回被查找到的指定的字符的位置. 语法:instr(sourceString,destString,start,appearPosition) instr('源字符串' , '目标字符串' ,'开始位置','第几次出现') 其中sourceString代表源字符串: destString代表要从源字符串中查找的子串: start代表查找的开始位置,这个参数可选的,默认为1: a

oracle SQL语句练习MERGE、模糊查询、排序、

Oracle支持的SQL指令可分为数据操作语言语句.数据定义语言语句.事务控制语句.会话控制语句等几种类型:1.数据操作语言语句数据操作语言语句(Data manipulation language,DML)用于进行数据的检索和更新操作.数据检索是数据库应用中使用频率最高的操作类型,因此数据检索的效率对数据库的整体性能影响显著.数据更新包括数据的插入.修改和删除等操作,数据更新操作具有一定的风险性,在其执行过程中DBMS必须保证数据的一致性,以确保数据有效.SELECT.INSERT.DELET

oracle instr函数

语法:instr( fatherstr, sonstr [, start_position [, matchtimes ] ] ) fatherstr:父字符串.要在此字符串中查找子字符串的位置. sonstr:要在fatherstr中查找的字符串. start_position:代表从fatherstr開始查找的的開始位置.此參数可选,假设省略默觉得1. 字符串索引从1開始.假设此參数为正.从左到右開始检索.假设此參数为负,从右到左检索, 返回要查找的子字符串在父字符串中的開始索引. matc

Oracle 数据库中在使用中文模糊查询时输入中文查询不到结果的解决方法

添加环境变量 变量名:NLS_LANG 变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

Oracle 中, 使用 Instr 函数 替换 OR

简述 今天在写 sql时遇到一个情况,表 A中的 ID 是按照 TREE结构存储的.现在需要和表 B中的 NODE_ID连接,取出 B中 NODE_ID可以和 A中任意一个 level的 NODE_ID连接的信息.但是表 B中的 NODE_ID 具体对应到表 A中哪个 level是未知的.对此,最先想到使用的是 OR运算,但是由于效率太低,速度很慢,后来使用 INSTR代替,查询速度得到明显提高. 表结构 表 A - A_SEQ_ID, LVL1_NODE_ID, LVL2_NODE_ID,LV