Oracle中的instr和substr函数
Oracle PL/sql中可以通过instr(获取特定字符串的索引)和substr(截取字符串)函数的组合使用进行字符串的截取实现类似于MysqL中substring_index函数或C#语言的Split函数。首先来认识下Oracle中的instr和substr函数。
1、instr函数
instr( string1,string2 [,start_position [,nth_appearance ] ] )
string1 源字符串
string2 目标字符串.
start_position 从string1 的哪个位置开始查找。默认为1.字符串索引从1开始。为正,从左到右开始检索,为负,从右到左检索。
nth_appearance 代表要查找第几次出现的string2.此参数可选,默认为 1.不能为负数
返回要查找的字符串string2在源字符串string1中的符合条件的开始索引
示例:
selectinstr('www.baidu.com','.',-1,2) from dual
.在str中存在,-1说明检索是从最后一位开始,2说明出现2次,返回的结果是4
2、substr函数
substr(string,start_position,length)
string 源字符串,即被截取的字符串.
start_position 字符截取的开始位置.start_position大于0时,从左边算起,小于0时,从右边查起
length 截取字符的个数.默认截取到最后一位.
示例:
selectsubstr('www.baidu.com',1,4) from dual
执行结果都是&