Oracle的INSTR函數(shù)用于在一個(gè)字符串中查找子字符串的位置。以下是INSTR函數(shù)的一些常見(jiàn)用法:
INSTR(str, sub_str)
例如:SELECT INSTR(‘hello world’, ‘world’) FROM dual;
結(jié)果為6,表示子字符串’world’在字符串’hello world’中的起始位置為6。
INSTR(str, sub_str, start_pos)
例如:SELECT INSTR(‘hello world’, ‘o’, 5) FROM dual;
結(jié)果為8,表示在字符串’hello world’中,從位置5開(kāi)始查找,第一個(gè)子字符串’o’的起始位置為8。
INSTR(str, sub_str, start_pos, occurrence)
例如:SELECT INSTR(‘hello world’, ‘o’, 1, 2) FROM dual;
結(jié)果為8,表示在字符串’hello world’中,從位置1開(kāi)始查找,第2次出現(xiàn)子字符串’o’的起始位置為8。
INSTR(str, sub_str, -start_pos)
例如:SELECT INSTR(‘hello world’, ‘o’, -5) FROM dual;
結(jié)果為8,表示在字符串’hello world’中,從倒數(shù)第5個(gè)位置開(kāi)始往前查找,第一個(gè)子字符串’o’的起始位置為8。
需要注意的是,INSTR函數(shù)返回的位置是從1開(kāi)始計(jì)數(shù)的。如果找不到子字符串,則返回0。