oracle instr函数(oracle 用instr 来代替 like)
2024-10-19 00:29:51
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
最新文章
- jQuery进阶
- ssl
- css keyframes动画属性设置
- ✡ leetcode 173. Binary Search Tree Iterator 设计迭代器(搜索树)--------- java
- [蓝牙] 4、Heart Rate Service module
- hdu 4045 2011北京赛区网络赛F 组合数+斯特林数 ***
- 导出db2数据库的表结构和数据(转载)
- JavaEE基础(二十三)/递归
- Kali 找回root 密码的操作步骤
- Weblogic 10.3.6 在RHEL5.4 下安装
- jQuery 核心函数 (十一)
- 【Python】 汉字转化汉语拼音pinyin
- 网站开发进阶(三十七)JSP页面跳转问题解决
- Python复习笔记(十一)TCP/IP协议
- APIO2018解题报告
- 解救小哈——bfs广搜
- LeetCode118.杨辉三角
- 远程连接mysql数据库碰到的问题及解决方案
- vue.js组件(component)
- Spring3.x错误--Pointcut is not well-formed:expecting 'name pattern' at...
热门文章
- .net core跨平台发布至centos7
- idea terminal 修改为git bash 不支持中文
- Element ui tree树形控件获取当前节点id和父节点id
- 利用cygwin创建windows下的crontab定时任务
- zepto中的touch库与fastclick
- linux上搭建ftp、vsftp, 解决访问ftp超时连接, 解决用户指定访问其根目录,解决ftp主动连接、被动连接的问题
- Inno Setup中多语言时,使用占位符填充
- Java程序读取Properties文件
- LVS专题-(3) 虚拟ip理解
- 线性回归浅谈(Linear Regression)