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 |
+-------+