时间:2021-07-01 10:21:17 帮助过:38人阅读
这几天在做一个项目的时候,做到关于用户组权限分配的问题,用到了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.
应用于:
举例说明:
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