Oracle的INSTR函数是用于在字符串中查找子字符串的位置的函数。它的语法如下:
INSTR(string, substring, position, occurrence)
- string:要进行查找的字符串。
- substring:要查找的子字符串。
- position:可选参数,指定开始查找的位置,默认为1。
- occurrence:可选参数,指定要查找的子字符串在字符串中出现的次数,默认为1。
返回值:返回子字符串在字符串中的位置,如果找不到则返回0。
以下是使用INSTR函数的几个示例:
1. 查找子字符串在字符串中的位置:
```sql
SELECT INSTR('Hello World', 'World') as position
FROM dual;
结果:7
```
2. 查找子字符串在字符串中第二次出现的位置:
```sql
SELECT INSTR('Hello World Hello', 'Hello', 1, 2) as position
FROM dual;
结果:13
```
3. 查找子字符串在字符串中的位置,从第5个字符开始查找:
```sql
SELECT INSTR('Hello World', 'o', 5) as position
FROM dual;
结果:5
```
4. 查找子字符串在字符串中的位置,忽略大小写:
```sql
SELECT INSTR('Hello World', 'WORLD', 1, 1, 0) as position
FROM dual;
结果:7
```
请注意,INSTR函数是根据索引来计算位置的,位置从1开始计数。如果要查找的子字符串不存在,INSTR函数将返回0。