oracle instr函数(oracle 用instr 来代替 like)
来源:互联网 发布:剑三喵哥可爱捏脸数据 编辑:程序博客网 时间:2024/06/04 18:06
对于instr函数,我们经常这样使用:从一个字符串中查找指定子串的位置。例如:
SQL> select instr('oracle','or') position from dual;
POSITION
----------
1
从字符串'oracle'的第一个位置开始,向后查找第一个出现子串'or'出现的位置。
其实instr共有4个参数,格式为“instr(string, substring, startposition, occurrence)”。可实现子串的如下搜索:
1.从指定位置开始搜索子串
2.指定搜索第几次出现的子串的位置
3.从后向前搜索
--1.从第3个字符开始搜索
SQL> select instr('oracleor','or', 3) position from dual;
POSITION
----------
7
--2.从第1个字符开始,搜索第2次出现子串的位置
SQL> select instr('oracleor','or', 1, 2) position from dual;
POSITION
----------
7
--3.从倒数第1个字符开始,搜索第1次出现子串的位置
SQL> select instr('oracleor','or', -1, 1) position from dual;
POSITION
----------
7
--3.从倒数第1个字符开始,搜索第2次出现子串的位置
SQL> select instr('oracleor','or', -1, 2) position from dual;
POSITION
----------
1
oracle用instr代替like
表中将近有100万数据,很多时候,我们要进行字符串匹配,在SQL语句中,我们通常使用like来达到我们搜索的目标。但经过实际测试发现,like的效率与instr函数差别相当大。下面是一些测试结果:
SQL> set timing on
SQL> select count(*) from t where instr(title,’oracle’)>0;
COUNT(*)
———-
5478
Elapsed: 00:00:11.04
SQL> select count(*) from t where title like ‘%oracle%’;
COUNT(*)
———-
5478
Elapsed: 00:00:31.47
SQL> select count(*) from t where instr(title,’oracle’)=0;
COUNT(*)
———-
994530
Elapsed: 00:00:11.31
SQL> select count(*) from t where title not like ‘%oracle%’;
COUNT(*)
———-
994530
注:
instr(title,'oracle’)>0 相当于like
instr(title,'oracle’)=0 相当于not like
- oracle instr函数(oracle 用instr 来代替 like)
- oracle instr函数(oracle 用instr 来代替 like)
- oracle instr函数(oracle 用instr 来代替 like)
- oracle instr函数(oracle 用instr 来代替 like)
- oracle instr函数(oracle 用instr 来代替 like)
- oracle instr函数(oracle 用instr 来代替 like)
- racle instr函数(oracle 用instr 来代替 like)
- oracle instr函数用法和(oracle 用instr 来代替 like)
- oracle中like和instr
- Oracle中instr与like
- Oracle instr函数
- oracle中instr函数
- Oracle的instr函数
- oracle中instr函数
- Oracle的instr函数
- oracle instr函数
- Oracle instr函数
- Oracle函数--INSTR
- 观察者模式
- 经典算法6:贪心算法解决部分背包问题
- 多表连接 去重
- C语言 itoa函数及atoi函数
- Android异步下载网络图片
- oracle instr函数(oracle 用instr 来代替 like)
- html中DOM 操作(js 和 jquey)
- 俞敏洪6月2号在同济大学的演讲
- 容易产生歧义的Integer.getInteger和Integer.valueOf方法
- Windows Server 2012/System Center 2012 R2 Preview预览版正式发布啦
- Archlinux win7双系统安装笔记
- Android网络操作(上传下载等)
- 用Apache分发weblogic集群
- webservice笔记之自定义参数类型以及返回值类型(Axis1.4)