`

Oracle instr函数

 
阅读更多
Oracle instr函数 

   
下载LOFTER客户端
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的substr和instr函数简单用法

    主要介绍了Oracle的substr和instr函数简单用法 的相关资料,需要的朋友可以参考下

    informix数据库实现oracle环境instr函数功能

    informix数据库实现oracle环境instr函数功能

    Oracle中instr函数使用方法

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

    oracle中instr函数与substr函数详细说明(附实例)[归类].pdf

    oracle中instr函数与substr函数详细说明(附实例)[归类].pdf

    Oracle中instr和substr存储过程详解

    instr函数 instr函数用于从指定的位置开始,从大型对象中查找第N个与模式匹配的字符串。 用于查找内部大对象中的字符串的instr函数语法如下: dbms_lob.instr( lob_loc in blob, pattern in raw, offset in integer...

    oracle常用函数举例

    3.CONCAT:连接两个字符串; SQL> select concat('010-','88888888')||'转23' 张三电话 from dual; 张三电话 ...SQL> select instr('oracle traning','ra',1,2) instring from dual; INSTRING ---------

    Oracle 如何创建和使用全文索引

    可以使用标准的INSTR函数和LIKE操作符实现。 SELECT *FROM mytext WHERE INSTR (thetext, 'Oracle') > 0; SELECT * FROM mytext WHERE thetext LIKE '%Oracle%';  有很多时候,使用instr和like是很理想的, 特别是...

    Oracle分析函数基本概念和语法总结及Regexp_***用法

    Oracle分析函数基本概念和语法总结及Regexp_***(regexp_substr,regexp_instr, regexp_like, regexp_replace, regexp_count)用法

    Oracle中的instr()函数应用及使用详解

    1、instr()函数的格式 (俗称:字符查找函数) 格式一:instr( string1, string2 ) // instr(源字符串, 目标字符串) 格式二:instr( string1, string2 [, start_position [, nth_appearance ] ] ) // instr(源字符串...

    oracle中substr函数详细用法

    oracle中INSTR和SUBSTR和CaseWhen函数详细用法

    Oracle函数大全

    Oracle函数的介绍,SQL中的单记录函数等等 5.INSTR(C1,C2,I,J) 在一个字符串中搜索指定的字符,返回发现指定的字符的位置; C1 被搜索的字符串C2 希望搜索的字符串I 搜索的开始位置,默认为1 J 出现的位置,默认为1 SQL>...

    oracle转成postgre时,oracle中函数的处理工具(orafce)

    NULL 博文链接:https://moooneee.iteye.com/blog/442478

    INSTR的用法 Oracle里的Indexof

    INSTR的用法 Oracle里的Indexof INSTR的用法 Oracle里的Indexof INSTR的用法 Oracle里的Indexof

    Oracle 基础语句 函数大全(字符串函数

    ORACLE PL/SQL 字符串函数、数学函数、日期函数 --【字符串函数】 --字符串截取substr(字段名,起始点,个数) select Name,substr(Name,2,4),substr(Name,0,3),substr(Name,-2,3),substr(Name,-2,1) from t1; --字符...

    SQL中Charindex和Oracle中对应的函数Instr对比

    sql :charindex(‘字符串’,字段)>0 charindex(‘administrator’,MUserID)>0 oracle:instr(字段,’字符串’,1,1) >0 instr(MUserID,’administrator’,1,1)>0 在项目中用到了Oracle中 Instr 这个函数,顺便仔细的...

    oracle函数大全.doc

    ORACLE函数大全 ________________________________________ 作者:[本站编辑] 来源:[CSDN] 浏览:[ ] SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数; SQL> select ascii('A') A,ascii('a') a,...

    Oracle中的INSTR,NVL和SUBSTR函数的用法详解

    Oracle中INSTR的用法: INSTR方法的格式为 INSTR(源字符串, 要查找的字符串, 从第几个字符开始, 要找到第几个匹配的序号) 返回找到的位置,如果找不到则返回0. 例如:INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符...

Global site tag (gtag.js) - Google Analytics