oracle instr函数
对于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

原文地址:http://blog.csdn.net/hzhsan/article/details/9186637

最新文章

  1. jQuery进阶
  2. ssl
  3. css keyframes动画属性设置
  4. ✡ leetcode 173. Binary Search Tree Iterator 设计迭代器(搜索树)--------- java
  5. [蓝牙] 4、Heart Rate Service module
  6. hdu 4045 2011北京赛区网络赛F 组合数+斯特林数 ***
  7. 导出db2数据库的表结构和数据(转载)
  8. JavaEE基础(二十三)/递归
  9. Kali 找回root 密码的操作步骤
  10. Weblogic 10.3.6 在RHEL5.4 下安装
  11. jQuery 核心函数 (十一)
  12. 【Python】 汉字转化汉语拼音pinyin
  13. 网站开发进阶(三十七)JSP页面跳转问题解决
  14. Python复习笔记(十一)TCP/IP协议
  15. APIO2018解题报告
  16. 解救小哈——bfs广搜
  17. LeetCode118.杨辉三角
  18. 远程连接mysql数据库碰到的问题及解决方案
  19. vue.js组件(component)
  20. Spring3.x错误--Pointcut is not well-formed:expecting 'name pattern' at...

热门文章

  1. .net core跨平台发布至centos7
  2. idea terminal 修改为git bash 不支持中文
  3. Element ui tree树形控件获取当前节点id和父节点id
  4. 利用cygwin创建windows下的crontab定时任务
  5. zepto中的touch库与fastclick
  6. linux上搭建ftp、vsftp, 解决访问ftp超时连接, 解决用户指定访问其根目录,解决ftp主动连接、被动连接的问题
  7. Inno Setup中多语言时,使用占位符填充
  8. Java程序读取Properties文件
  9. LVS专题-(3) 虚拟ip理解
  10. 线性回归浅谈(Linear Regression)