Skip to content

适用虚谷数据库版本

v12.10.8



适用虚谷数据库版本

v12.10.8


INSTR

📄字数 623
👁️阅读量 加载中...

功能描述

返回子字符串 expr2 在字符串 expr1 中第一次出现的位置。

语法格式

sql
INSTR(expr1,expr2[,expr3,expr4])

输入参数

  • expr1:源字符串, VARCHAR类型。
  • expr2:字符串, VARCHAR类型。
  • expr3:可选参数,查找的起始位置,INTEGER类型,缺省值为1。大于0时,按从左到右的顺序查找;小于0时,按从右往左的顺序查找。
  • expr4:可选参数,查找第几次出现的目标字符串(默认为1),参数范围为正整数, INTEGER类型。

输出结果

输出结果为INTEGER类型,表示子字符串在源字符串中的位置(字符位置),子字符串不存在于源字符串中,则返回0。任意参数为NULL,则返回NULL

执行类型

TYPEVALUE说明
NATIVE0函数只能在本地计算
VOLATI0函数的每次计算值不同
STABLE0函数的每次计算值相同
COMPUTE0函数支持预计算取值
NOT_CONST0函数不支持转常数
HAVE_DEF0函数参数有默认值

示例

SQL
-- 示例1:从右往左寻找匹配ba的位置
SQL> SELECT INSTR('abbaxycdaxzbapqw', 'ba', -2) FROM dual;

+-------+
| EXPR1 |
+-------+
| 12    |
+-------+

-- 示例2:从右往左寻找第二个匹配ba的位置
SQL> SELECT INSTR('abbaxycdaxzbapqwba', 'ba', 1, 2) FROM dual;

+-------+
| EXPR1 |
+-------+
| 12    |
+-------+

-- 示例3:从左往右寻找第三个匹配ba的位置
SQL> SELECT INSTR('abbaxycdaxzbapqwba', 'ba', 1, 3) FROM dual;

+-------+
| EXPR1 |
+-------+
| 17    |
+-------+