1.instr(string,substring,[position],[occurrence])
返回第几次在string出现的位置(位置从左到右开始算,下标从1开始)
position:默认为1
occurrence:默认为1 第几次出现substring字符
SQL> select instr('aabbcc','a') from dual;
INSTR('AABBCC','A')
-------------------
1
SQL> select instr('aabbcc','a',2) from dual; --从第2个字符开始,第1次出现a的位置
INSTR('AABBCC','A',2)
---------------------
2
SQL> select instr('aabbcc','c',2,2) from dual;
INSTR('AABBCC','C',2,2)
-----------------------
6
SQL> select instr('aab bcc','c',2,2) from dual; --空格也算一个
INSTR('AABBCC','C',2,2)
-----------------------
7
2.substr(char,position,[substring_length])
substring_length:如果省略,返回字符到结束
SQL> select substr('ABCDEFG',3,4) from dual; --从第3个位置开始取4个字符,下标从1开始
SUBS
----
CDEF
SQL> select substr('ABCDEFG',-3,4) from dual;
SUB
---
EFG
SQL> select substr('ABCDEFG',-3,2) from dual;
SUB
---
EF