oracle中instr()函数用法

instr(name,'张三')>0  相当于  name like '%张三%'
instr(name,'张三')=1  相当于  name like '张三%'
instr(name,'张三')=0  相当于  name not like '%张三%'

实验得出,在一个2亿多条记录的表中,同时8个并行,使用like查询很久都不出来结果,但使用instr,4分钟即完成查找,性能是相当的好。由此可得,ORACLE内建的一些函数,是经过相当程度的优化的。

同时总结一个特殊用法:

select  t.*  from book  t where instr('12076, 12077', id) > 0; 
  它等价于 
select  t.*  from book  t where id = 12076 or id = 12077;

针对oracle中的number类型数据可能为null,查询时使用如下方式:

select  nvl(t.total,0) total from book t

nvl()函数可以设置查询值为null是赋予默认值。

oracle模糊搜索避免使用like,替换为instr()的更多相关文章

  1. oracle 11g 中 (oracle 10g) crsctl 的 替换命令

     oracle 11g 中 (oracle 10g) crsctl 的 替换命令 Deprecated Command Replacement Commands crs_stat  ---集群状态 ...

  2. Oracle中sign/decode/nvl/round/trunc/(+)/instr/substr/replace解释

    1. sign函数 sign函数语法: sign(n); sign函数说明: 取数字n的符号,大于0返回1,小于0返回-1,等于0返回0(n可以是表达式,(n-200)) 例子: a=10; b=50 ...

  3. oracle学习笔记:字符串替换 replace、regexp_replace、translate函数

    1.replace 函数 语法:replace(char, search_string, replacement_string) --针对字符串替换 功能: ​ 将char中的字符串替换. ​ 当re ...

  4. Oracle单引号拼接和替换

    1.oracle拼接一个单引号: 正常写法:''''|| 由于单引号存在转义,第一个和最后一个是指定你要使用的字符,第二个’是单引号的转义字符,所以需要第三个‘才是真正你要拼接的那个. 也可以用 ch ...

  5. 执行ORACLE SQL时如何 忽略替换变量(转载)

    你想在SQL*Plus里执行一个脚本,脚本里包含了一些看起来像替换变量的元素,但实际上你并不是想把它们当替换变量来处理.这时你想让解析器忽略它们而不是提示用户输入.解决方案1有一种解决方案就是在&am ...

  6. oracle 12c 关于wm_concat 的替换;LISTAGG

    之所以用到了wm_concat函数.是想到达这样的结果集. 转为这样的===========> 返回这样的数据,易与配合echarts的数据准备. 看上去十分的方便,但是遗憾的是,oracle极 ...

  7. Oracle的字符替换函数translate用法

    参考文档如下:http://www.banping.com/2009/05/18/oracle_function_translate/ Oracle提供了一个字符替换函数translate,不同于re ...

  8. oracle日记

    win7旗舰版安装oracle11g 64位用sql plus可以登录 但用pl/sql dev报错ORA-12560 小型数据库:access.foxbase 中型数据库:mysql.sqlserv ...

  9. Oracle 行转列pivot 、列转行unpivot 的Sql语句总结

    这个比较简单,用||或concat函数可以实现 select concat(id,username) str from app_user select id||username str from ap ...

随机推荐

  1. POJ - 1948 二维01背包

    T了两发,DP方程很简单粗暴 dp[i][j][k]:用前i物品使得容量分别为j和k的背包恰好装满 背包的调用只需一次即可,第一次T就是每次check都丧心病狂地背包一次 对于sum的枚举,其实i j ...

  2. SPOJ - AMR11

    A Thanks a lot for helping Harry Potter in finding the Sorcerer's Stone of Immortality in October. D ...

  3. RNN(recurrent neural network)学习笔记

    参考:https://www.jianshu.com/p/9dc9f41f0b29  以及<白话深度学习与TensorFlow> 与前馈神经网络.卷积神经网络等不同之处在于,RNN具有一定 ...

  4. Linux中断分层--软中断和tasklet

    1. Linux中断分层 (1)上半部:当中断发生时,它进行相应的硬件读写,并“登记”该中断.通常由中断处理程序充当上半部.(一般情况下,上半部不可被打断) (2)下半部:在系统空闲的时候,对上半部“ ...

  5. linux系统优化基础

    linux系统优化基础 tags: linux 优化 kingle---### 1, 查看centos版本:cat etc/redhat-release 看看centos架构信息:uname -m 查 ...

  6. SEO艺术阅读笔记

      SEO(Search Engine Optimization)搜索引擎优化 搜索引擎:反映认知,连接贸易搜索引擎基础百度搜索高级语法确定SEO目标,定义网站受众设定SEO目标开发前定制SEO方案理 ...

  7. 发送请求时params和data的区别

    在使用axios时,注意到配置选项中包含params和data两者,以为他们是相同的,实则不然. 因为params是添加到url的请求字符串中的,用于get请求. 而data是添加到请求体(body) ...

  8. 第十七章:使用media插件来播放声音

    前面已经讲过如何基于push notification自定义sound,但是还是存在几个问题: IOS app在前台运行的时候,如何播放sound?因为这个时候push notification是不起 ...

  9. Ubuntu 14.04 下安装搜狗输入法,不要删除ibus

    今天安装了 sougou输入法.在ubuntu下面,然后网上一般的帖子都是要求你先删除 ibus 但是你删除了ibus之后,就会导系统设置被删除很多设置项,甚至无法打开, 所有你设置ubuntu输入法 ...

  10. 现学现卖】IntelliJ+EmmyLua 开发调试Unity中Xlua

    http://blog.csdn.net/u010019717/article/details/77510066?ref=myread http://blog.csdn.NET/u010019717 ...