欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

oracle的instr函数用法

程序员文章站 2022-06-16 14:46:07
...

这几天在做一个项目的时候,做到关于用户组权限分配的问题,用到了Oracle的instr函数,现在好好学习下这个函数吧。 在Oracle/PLSQL中, instr 函数返回要截取的字符串在源字符串中的位置。 语法如下:instr( string1, string2 [, start_position [, nth_appe

这几天在做一个项目的时候,做到关于用户组权限分配的问题,用到了Oracle的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.

应用于:

  • Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

举例说明:

select instr('abc','a') from dual; -- 返回 1
select instr('abc','bc') from dual; -- 返回 2
select instr('abc abc','a',1,2) from dual; -- 返回 5
select instr('abc','bc',-1,1) from dual; -- 返回 2
select instr('abc','d') from dual; -- 返回 0

注:也可利用此函数来检查String1中是否包含String2,如果返回0表示不包含,否则表示包含。

===============================================================================
Oracle中Instr用法

在项目中用到了Oracle中 Instr 这个函数,顺便仔细的再次学习了一下这个知识。

Oracle中,可以使用 Instr 函数对某个字符串进行判断,判断其是否含有指定的字符。

其语法为:
Instr(string, substring, position, occurrence)
其中

string:代表源字符串;

substring:代表想聪源字符串中查找的子串;

position:代表查找的开始位置,该参数可选的,默认为 1;

occurrence:代表想从源字符中查找出第几次出现的substring,该参数也是可选的,默认为1;
如果 position 的值为负数,那么代表从右往左进行查找。
返回值为:查找到的字符串的位置。

对于 Instr 函数,我们经常这样使用:从一个字符串中查找指定子串的位置。

例如:

SELECT Instr('Hello Word', 'o', -1, 1) "String" FROM Dual 的显示结果是

Instring
————
8