instr(string1,string2,[num1],[num2])表示在源字符串s tring1 中,从起始位置 num1 开始,第 num2个匹配目标字符串string2的匹配项的首字符位置。num1、num2满足:
一、num1、num2可选,默认均为1。
二、若num1大于0,则从左往右算起且包含第num1个字符,反之,若num1小于0,则从右往左算起且包含倒数第|num1|个字符,num2为正整数。
例如
SQL> select INSTR('CORPORATE FLOOR','O',3, 1) str from dual;
STR
----------
5
在源字符串“CORPORATE FLOOP”中,从第三个字符“R”开始,第“1”个
匹配“O”的项为“..POR...”中的“O”,那么函数instr取得的匹配位置
就是5.
SQL> select INSTR('CORPORATE FLOOR','OR',3, 1) str from dual;
STR
----------
5
同理.
SQL> select INSTR('CORPORATE FLOOR','R',-1, 1) str from dual;
STR
----------
15
从右往左,倒数第一个“R”开始,第一个与“R”匹配的项就是“....FLOOR”里的“R”,instr函数取到得位置正是15.
SQL> select INSTR('CORPORATE FLOOR','OR') str from dual;
STR
----------
2
同理。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22350698/viewspace-628800/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22350698/viewspace-628800/