INSTR方法的格式为
INSTR(源字符串, 目标字符串, 起始位置, 匹配序号)
例如:INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符串为'CORPORATE FLOOR', 目标字符串为'OR',起始位置为3,取第2个匹配项的位置。
默认查找顺序为从左到右。当起始位置为负数的时候,从右边开始查找。
所以SELECT INSTR('CORPORATE FLOOR', 'OR', -1, 1) "Instring" FROM DUAL的显示结果是
Instring
——————
14
======================
SELECT INSTR('CORPORATE FLOOR', 'OR', -1, 1) "Instring" FROM DUAL从右边第一个字符开始找,包括第一个字符,找到第一个‘OR’,计算从左到右共有多少个字符,包括找到的OR。本例=14,即‘CORPORATE FLOOR'
又例:
SELECT INSTR('CORPORATE FLOOR FLOOR FLOOR','OR', 3, 4) "Instring" FROM DUAL
返回结果是:26
SELECT INSTR('CORPORATE FLOOR','OR', 3, 2) "Instring" FROM DUAL
SELECT INSTR('Mississippi','i',5,2) FROM DUAL====从第左边第五个字符开始找,包括第五个字符,找到第二个i,包括找到的i, 计算从左到右共有多少个字符返回。此例=8,即‘Mississi’
注:如果‘’内有多个空格,则只有一个空格不计算在内。判断字符时是区分大小写的。