`

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%' ;

 

转自 : 【http://blog.163.com/liu_yang1234/blog/static/2447431020112290109559/】

分享到:
评论

相关推荐

    vb中instr函数

    VB 中 InStr 函数的使用和实现文本查找功能 VB 中的 InStr 函数是一个非常重要和常用的函数,它可以返回指定字符串在另一个字符串中最先出现的位置。其语法为 InStr([start, ]string1, string2[, compare]),其中 ...

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

    ### Informix数据库实现Oracle环境INSTR函数功能 在数据库领域,不同类型的数据库系统可能支持不同的SQL函数特性。例如,Oracle数据库中的`INSTR`函数用于查找一个字符串在另一个字符串中的位置,而Informix数据库...

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

    Oracle instr 函数与 substr 函数详细说明 oracle 中的 instr 函数和 substr 函数是两种常用的字符串处理函数,它们可以用来处理和操作字符串数据。 Instr 函数 Instr 函数的主要作用是返回要截取的字符串在源...

    Oracle中instr函数使用方法

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

    Oracle的substr和instr函数简单用法

    Oracle数据库中的`substr`和`instr`函数是两个非常实用的字符串处理函数,它们在数据库查询和数据处理中扮演着重要角色。 `substr`函数,全称为“substring”,用于从一个字符串中截取一部分。其基本语法是: ```...

    sql数据库不能直接用instr函数

    SQL数据库Instr函数限制和替代方案 Instr函数是许多编程语言中常用的字符串处理函数,可以在字符串中查找指定的子字符串并返回其位置。然而,在SQL数据库中,Instr函数并不是一个标准的函数,不能直接使用。这篇...

    HIVE函数详解大全

    本篇文章将详细解析Hive中的各种函数,帮助你更好地理解和应用这些功能。 一、关系运算 关系运算用于比较两个或多个表达式,确定它们之间的逻辑关系。以下是Hive支持的关系运算符: 1. 等值比较:`=` - 用于判断...

    instr()函数功能,判断目标字符串是否存在于第一个字符串中

    `instr()` 函数在编程语言中,如VBScript或ColdFusion,是一个非常实用的字符串处理函数,用于在源字符串中查找目标字符串出现的位置。它能够帮助开发者判断目标字符串是否存在于第一个字符串中,并返回目标字符串的...

    Oracle中instr和substr存储过程详解

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

    INSTR的用法 Oracle里的Indexof

    ### INSTR函数在Oracle数据库中的应用 #### 一、INSTR函数概述 INSTR是Oracle数据库中的一个常用字符串处理函数,其主要功能是在一个指定的字符串(目标字符串)中查找另一个字符串(搜索字符串)的位置。如果找到...

    oracle函数大全 oracle函数大全

    5. INSTR函数:INSTR函数在字符串C1中查找字符C2的位置。例如,INSTR('oracle traning','ra',1,2)返回9,表示在'oracle traning'中第二个'ra'的位置是从第1个字符开始的第9个位置。 6. LENGTH函数:LENGTH函数返回...

    Oreacle常用函数大全

    下面是 Oracle 中一些常用的函数,包括 ASCII、CHR、CONCAT、INITCAP、INSTR、LENGTH、LOWER、UPPER、RPAD、LPAD、LTRIM、RTRIM、SUBSTR、REPLACE、SOUNDEX 和 TRIM 等。 1. ASCII 函数 ASCII 函数返回与指定的字符...

    oracle内置函数大全

    5. INSTR函数:INSTR函数在字符串C1中查找C2的位置。例如,INSTR('oracle traning', 'ra', 1, 2)返回9,表示第二个'ra'出现在第9个字符位置。 6. LENGTH函数:LENGTH函数返回字符串的长度。例如,LENGTH('gao')返回...

    ORACLE内置函数大全

    5. INSTR函数:INSTR函数用于在一个字符串中查找指定字符或子串的开始位置。例如,INSTR('oracle traning', 'ra', 1, 2)返回9,表示'ra'在字符串中的第二个出现位置。 6. LENGTH函数:LENGTH函数返回字符串的长度。...

    oracle数据库函数大全集合

    INSTR 函数在一个字符串中搜索指定的字符,返回发现指定的字符的位置。例如,SQL> select instr('oracle traning','ra',1,2) instring from dual; 结果显示在字符串 oracle traning 中搜索 ra 的位置是 9。 6....

    常用VBA函数精选集

    Instr 函数返回指定字符串中第一个出现的子字符串的索引。例如,使用 Instr("Hello World", "World") 将返回 7。 InstrRev 函数 InstrRev 函数返回指定字符串中最后一个出现的子字符串的索引。例如,使用 InstrRev...

    PL/SQL 常用函数

    INSTR 函数可以查找字符串中某个字符的位置。例如,INSTR(ename, 'A', 1) 将查找ename 中 'A' 的位置,从第 1 个字符开始。 5. NULL 处理函数 NVL 函数可以处理 NULL 值。例如,NVL(bonus, 0) 将 bonus 中的 NULL ...

Global site tag (gtag.js) - Google Analytics