INSTR
📄字数 508
👁️阅读量 加载中...
功能描述
返回子字符串 expr2
在字符串 expr1
中第一次出现的位置。
语法格式
sql
INSTR(expr1,expr2[,expr3,expr4])
输入参数
expr1
:源字符串,VARCHAR
类型。expr2
:字符串,VARCHAR
类型。expr3
:可选参数,查找的起始位置,INTEGER
类型,缺省值为1
。大于0
时,按从左到右的顺序查找;小于0
时,按从右往左的顺序查找。expr4
:可选参数,查找第几次出现的目标字符串(默认为1
),参数范围为正整数,INTEGER
类型。
输出结果
输出结果为INTEGER
类型,表示子字符串在源字符串中的位置(字符位置),子字符串不存在于源字符串中,则返回0
。任意参数为NULL
,则返回NULL
。
示例
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 |
+-------+