instr函数用于返回某字符串在另一字符串中的出现位置。
函数格式为:
InStr(string1, string2,[position,][occurrence])
string1参数为必选项,表示被搜索的字符串。
string2参数也是必选项,表示要搜索的字符串。
position参数为选填项,用于设置查找的开始位置,数值型,正数表示从左到右的第几位开始;负数表示从右到左的第几位开始。省略则默认从第一位开始查找。
occurrence参数为选填项,用于设置搜索的字符串是第几次出现。如为2表示第2次出现,省略则默认为第一次出现。
instr有以下几种返回值:
1. 如果string1为零,则instr返回0;
2. 如果string1为null,则instr返回null;
3. 如果string2为零,则instr返回0;
4. 如果string2为null,则instr返回null;
5. 如果在string1中找到了string2,则返回匹配字符串的位置;
例子:
1. select instr('102.203.182.201','.',-1) output from dual; -- 从右边第一位查找在102.203.182.201中第一次出现.的位置,返回12;
2. select instr('102.203.182.201','.',1) output from dual; -- 从左边第一位查找在102.203.182.201中第一次出现.的位置,返回4;
3. select instr('102.203.182.201','.',-1,2) output from dual; -- 从右边第一位查找在102.203.182.201中第二次出现.的位置,返回8;
4. select instr('102.203.182.201','.',5,2) output from dual; -- 从左边第五位查找在102.203.182.201中第二次出现.的位置,返回12;
总结:
instr, instrb, instrc, instr2, instr4用法都一样。区别在于返回的类型。
与substr经常结合在一起使用。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10356975/viewspace-680345/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10356975/viewspace-680345/