INSTRB
📄字数 557
👁️阅读量 加载中...
功能描述
返回子字符串 expr2 在字符串 expr1 中第一次出现的位置。
语法格式
sql
INSTRB(expr1,expr2[,expr3,expr4])输入参数
expr1:源字符串,VARCHAR类型。expr2:字符串,VARCHAR类型。expr3:可选参数,查找的起始位置,默认值为1。参数小于1时,从第一个位置开始查找,INTEGER类型。expr4:可选参数,查找第几次出现的目标字符串(默认为1),参数范围为正整数,INTEGER类型。
输出结果
输出结果为INTEGER类型,表示子字符串在源字符串中的位置(字节位置),子字符串不存在于源字符串中,则返回0。任意参数为NULL,则返回NULL。
执行类型
| TYPE | VALUE | 说明 |
|---|---|---|
| NATIVE | 0 | 函数只能在本地计算 |
| VOLATI | 0 | 函数的每次计算值不同 |
| STABLE | 0 | 函数的每次计算值相同 |
| COMPUTE | 0 | 函数支持预计算取值 |
| NOT_CONST | 0 | 函数不支持转常数 |
| HAVE_DEF | 0 | 函数参数有默认值 |
示例
SQL
-- 示例1:参数为负数,从左往右第一个字符开始查找。
SQL> SELECT INSTRB('abbaxycdaxzbapqw', 'ba', -2) FROM dual;
+-------+
| EXPR1 |
+-------+
| 3 |
+-------+
-- 示例2:参数为正数,从左往右第一个字符开始查找第二个'ba'
SQL> SELECT INSTRB('abbaxycdaxzbapqwba', 'ba', 1, 2) FROM dual;
+-------+
| EXPR1 |
+-------+
| 12 |
+-------+