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

oracle instr函数(oracle 用instr 来代替 like)的更多相关文章

  1. Oracle中INSTR函数与SQL Server中CHARINDEX函数

    Oracle中INSTR函数与SQL Server中CHARINDEX函数 1.ORACLE中的INSTR INSTR函数格式:INSTR(源字符串, 目标字符串, 起始位置, 匹配序号) 说明:返回 ...

  2. Oracle正则表达式函数:regexp_like、regexp_substr、regexp_instr、regexp_replace

    Oracle正则表达式函数:regexp_like.regexp_substr.regexp_instr.regexp_replace   --去掉所有特殊字符,只剩字母  SELECT REGEXP ...

  3. 十、oracle 常用函数

    一.字符函数字符函数是oracle中最常用的函数,我们来看看有哪些字符函数:lower(char):将字符串转化为小写的格式.upper(char):将字符串转化为大写的格式.length(char) ...

  4. oracle 常用函数汇总

    一.字符函数字符函数是oracle中最常用的函数,我们来看看有哪些字符函数:lower(char):将字符串转化为小写的格式.upper(char):将字符串转化为大写的格式.length(char) ...

  5. 12. oracle 常用函数

    一.字符函数字符函数是oracle中最常用的函数,我们来看看有哪些字符函数:lower(char):将字符串转化为小写的格式.upper(char):将字符串转化为大写的格式.length(char) ...

  6. mysql中INSTR函数的用法

    mysql中INSTR函数的用法 INSTR(字段名, 字符串) 这个函数返回字符串在某一个字段的内容中的位置, 没有找到字符串返回0,否则返回位置(从1开始) SELECT * FROM tblTo ...

  7. Oracle DECODE函数的语法介绍

    Oracle DECODE函数功能很强,下面就为您详细介绍Oracle DECODE函数的用法,希望可以让您对Oracle DECODE函数有更多的了解. Oracle DECODE函数 Oracle ...

  8. Oracle NULLIF函数

    Oracle NULLIF函数 Oracle NULLIF函数语法为NULLIF(表达式1,表达式2),如果表达式1和表达式2相等则返回空值,如果表达式1和表达式2不相等则返回表达式1的结果. 注意: ...

  9. oracle extract函数

    oracle Extract 函数 //oracle中extract()函数从oracle 9i中引入,用于从一个date或者interval类型中截取到特定的部分   //语法如下:   EXTRA ...

随机推荐

  1. 工具-infer,静态代码检测

    1.工具介绍 Infer 是一个静态程序分析工具,可以对 Java.C 和 Objective-C 程序进行分析,此工具是用 OCaml写成的.https://github.com/facebook/ ...

  2. Git学习系列之Debian或Ubuntu上安装Git详细步骤(图文详解)

    前言 最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑.不过,慢慢地有人把它移植到了Windows上.现在,Git可以在Linux.Unix.Mac和Win ...

  3. 删除qq互联

    1.删除source/plugin 下的文件qqconnect文件夹 2.删除数据: DELETE FROM `dn_common_plugin` WHERE `identifier` = 'qqco ...

  4. koa-router post请求接收的参数为空

    注:koa-router路由和koa-bodyparser中间件  post请求中参数为空. 页面代码 <!DOCTYPE html> <html> <head> ...

  5. 前端组件化Polymer入门教程(2)——Hello world

    本节为体验篇,就是让你了解它有哪些功能,不做详细说明,后面再来讲细节. 自定义元素 组件页 <link rel="import" href="../polymer- ...

  6. React Native从入门到放弃之环境搭建

    官网 https://facebook.github.io/react-native/ 中文网站 http://reactnative.cn/ 相关文档 http://www.lcode.org/史上 ...

  7. HDU 1242 Rescue(BFS+优先队列)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1242 题目描述: Problem Description Angel was caught by t ...

  8. java中变量使用的总结

    java中整数默认为int,小数默认为double. float n5=1.3; 这个句子就会报错,应该修改成这样float n5=1.3f; 八大基本类型 变量类型 位数 范围 备注 Byte 8位 ...

  9. 基于asp.net mvc的近乎产品开发培训课程(第二讲)

    演示产品源码下载地址:http://www.jinhusns.com/Products/Download 

  10. StreamReader 的ReadLine,Read,ReadToEnd方法

    1.ReadLine() 当遇到\n \r 或者是\r\n的时候 此方法返回这前面的字符串,然后内部的指针往后移一位下次从新的地方开始读,直到遇到数据的结尾处返回null,所以经常这样使用       ...