全部产品

INSTR

INSTR 函数在一个字符串中搜索指定的字符,返回发现指定的字符的位置。

注意

多字节符(汉字、全角符等),按 1 个字符计算。

语法

INSTR(c1,c2[,i[,j]])

参数

参数

说明

c1

被搜索的字符串。字符串类型可为:CHARVARCHAR2NCHARNVARCHAR2CLOB

c2

希望搜索的字符串。字符串类型可为:CHARVARCHAR2NCHARNVARCHAR2CLOB

i

搜索的开始位置,默认值为 1。当值小于 0 时,搜索从反方向开始,但是仍返回被搜索到的字符的正序位置。

j

j 次出现的位置,默认值为 1。

返回类型

NUMBER 数据类型。

示例

此示例展示了字符 在字符串 重庆某软件公司 中第一次出现的位置。

SELECT INSTR ('重庆某软件公司','某',1,1) instring FROM DUAL;

返回结果:

+----------+
| instring |
+----------+
|        3 |
+----------+

此示例中, instring1 应返回正向搜索 ce 时在字符串中第二次出现的位置,instring2 应返回反向搜索 ce 时在字符串中第二次出现的位置:

SELECT INSTR('oceanbase pratice','ce',1,2) instring1,INSTR('oceanbase pratice','ce',-1,2) instring2  FROM DUAL;

返回结果,正向搜索时 ce 第二次出现在第 16 位,反向搜索时 ce 第二次出现在第二位:

+----------+------------+
| instring1 | instring2 |
+----------+------------+
|       16 |          2 |
+----------+------------+