INSTR 
instr(源字符串, 目标字符串, 起始位置, 匹配序号) 
在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。只检索一次,就是说从字符的开始 
到字符的结尾就结束。 
语法如下: 
instr( string1, string2 [, start_position [, nth_appearance ] ] ) 
参数分析: 
    string1 源字符串,要在此字符串中查找。 
string2 要在string1中查找的字符串. 
start_position  代表string1 的哪个位置开始查找。此参数可选,如果省略默认为1. 字符串索引从1开始。如    果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。 
    nth_appearance  代表要查找第几次出现的string2. 此参数可选,如果省略,默认为 1.如果为负数系统会报错。 
     注意: (如果String2在String1中没有找到,instr函数返回0. )
示例: 
SELECT instr('syranmo','s') FROM dual; -- 返回 1 
SELECT instr('syranmo','ra') FROM dual;  -- 返回 3 
1 SELECT instr('syran mo','a',1,2) FROM dual;  -- 返回 0 
(根据条件,由于a只出现一次,第四个参数2,就是说第2次出现a的位置,显然第2次是没有再出现了,所以结果返回0。注意空格也算一个字符!) 
SELECT instr('syranmo','an',-1,1) FROM dual;  -- 返回 4 
(就算是由右到左数,索引的位置还是要看‘an’的左边第一个字母的位置,所以这里返回4) 
SELECT instr('abc','d') FROM dual;  -- 返回 0 
注:也可利用此函数来检查String1中是否包含String2,如果返回0表示不包含,否则表示包含。 
对于上面说到的,我们可以这样运用instr函数。请看下面示例: 
如果我有一份资料,上面都是一些员工的工号(字段:CODE),可是我现在要查询出他们的所有员工情况,例如名字,部门,职业等等,这里举例是两个员工,工号分别是’A10001′,’A10002′,其中假设staff是员工表,那正常的做法就如下: 
1 2 SELECT  code , name , dept, occupation FROM staff  WHERE code IN ('A10001','A10002'); 
或者: 
SELECT  code , name , dept, occupation FROM staff  WHERE code = 'A10001' OR code = 'A10002'; 
有时候员工比较多,我们对于那个’觉得比较麻烦,于是就想,可以一次性导出来么?这时候你就可以用instr函数,如下: 
SELECT  code , name , dept, occupation FROM staff  WHERE instr('A10001,A10002',code)>0; 
查询出来结果一样,这样前后只用到两次单引号,相对方便点。 
还有一个用法,如下: 
SELECT code, name, dept, occupation  FROM staff  WHERE instr(code, '001') > 0; 
等同于 
SELECT code, name, dept, occupation  FROM staff  WHERE code LIKE '%001%' ;

Oracle的instr函数使用相关推荐

  1. php instr函数,oracle的instr函数用法

    这几天在做一个项目的时候,做到关于用户组权限分配的问题,用到了Oracle的instr函数,现在好好学习下这个函数吧. 在Oracle/PLSQL中, instr 函数返回要截取的字符串在源字符串中的 ...

  2. oracle调用MySQL函数,Oracle的INSTR函数MySQL实现

    Oracle的INSTR函数MySQL实现 一个迁移项目遇到的,MySQL的instr函数只能查找子串是否在父串中,没法按照出现的次数进行查找.这里我自己写了一个,以便迁移.当然我这里仅仅针对的是迁移 ...

  3. PostgreSQL仿照Oracle的instr函数

    转自:http://www.myexception.cn/operating-system/480929.html PostgreSQL模仿Oracle的instr函数 -- -- instr fun ...

  4. java中instr函数,Oracle中instr函数使用方法

    INSTR (源字符串, 目标字符串, 起始位置, 匹配序号) 在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置.只检索一次,就是说从字符的开始到字符的结尾就结束. 语 ...

  5. oracle的instr函数

    instr函数查找个字符串在另一个字符串中首次出现的位置.instr函数在Oracle/PLSQL中是返回要截取的字符串在源字符串中的位置. 一.语法 instr(string1, string2, ...

  6. oracle中的的instr,Oracle中instr函数使用方法

    举例: scenarioinfo 中有60条数据,其中字段ywwd不为空的有40条(其中包含"积分"的有30条),字段ywwd为空的有20条. 查询scenarioinfo 表中字 ...

  7. oracle中的to_number,Oracle中to_number()函数的用法

    to_number()函数是oracle中常用的类型转换函数之一,是将一些处理过的按一定格式编排过的字符串变回数值型的格式. 1.to_number()函数可以将char或varchar2类型的str ...

  8. 提高sql查询性能-使用instr函数替换like

    使用like查询时比较慢,使用oracle的instr函数可以提高查询的效率. 使用like: select f1.htbh as "htbh",f2.syqr as " ...

  9. java中instr函数_Oracle中instr函数使用方法

    Oracle中instr函数使用方法 更新时间:2012年11月03日 00:53:51   作者: 在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置.只检索一次,就是 ...

最新文章

  1. 如何实现js调用java函数
  2. ZXing二维码扫描添加个人总结
  3. teamcity_TeamCity构建依赖项
  4. Linux 网卡驱动学习(九)(层二转发)
  5. 加泰罗尼亚理工大学 计算机 排名,西班牙加泰罗尼亚理工大学排名
  6. python flask框架是什么_Python三大web框架分别是什么 哪个更好
  7. 数据结构与算法之-----二叉树(一)
  8. SQL 获取当前日期
  9. 用java实现飞机大战_java飞机大战实现了什么技术
  10. 服务器机房日常维护记录表,机房设备维护记录表
  11. springboot + vue 全栈开发实战 读书感想
  12. 基于韦东山视频 regulator 学习笔记
  13. org.hibernate.loader.custom.NonUniqueDiscoveredSqlAliasException: Encountered a duplicated sql alias
  14. openwrt nas_树莓派安装 OpenWrt 打造超级路由器
  15. C语言popcount函数,C/C++中__builtin_popcount()的使用及原理
  16. Python三步爬取VMgirls小姐姐图片
  17. 优化问题---最优性条件
  18. 简单的swiper实现照片预览功能
  19. npm WARN cli npm v9.1.2 does not support Node.js v14.12.0. You should probably upgrade to解决方法
  20. 怎么用dos命令进入指定的文件夹

热门文章

  1. B2B2C商城系统要多少钱?这些技巧需要知道
  2. 倩女幽魂2登陆显示服务器繁忙,三点总结:玩家频繁跑新区的原因
  3. 基于标志点特征高精提取与匹配方法,进行双目、结构光、RGBD相机、单目相机多视拼接
  4. vue+iview单选按钮正则ruleValidate校验必填和非必填
  5. 【自动化测试】RIDE的使用
  6. 弄懂Android Studio的canary、dev、stable、beta版本的区别
  7. 国内地图坐标转换WGS84、GCJ-02、BD-09
  8. 生态位构建-一种普遍的主动进化
  9. 倪齐民加盟《青春风暴》 暗助任容萱脱困境_0
  10. 枪毙病狗问题(看帽子问题类型)