Oracle的INSTR函数用于在一个字符串中查找子字符串的位置。以下是INSTR函数的一些常见用法:
INSTR(str, sub_str)
例如:SELECT INSTR(‘hello world’, ‘world’) FROM dual;
结果为6,表示子字符串’world’在字符串’hello world’中的起始位置为6。
INSTR(str, sub_str, start_pos)
例如:SELECT INSTR(‘hello world’, ‘o’, 5) FROM dual;
结果为8,表示在字符串’hello world’中,从位置5开始查找,第一个子字符串’o’的起始位置为8。
INSTR(str, sub_str, start_pos, occurrence)
例如:SELECT INSTR(‘hello world’, ‘o’, 1, 2) FROM dual;
结果为8,表示在字符串’hello world’中,从位置1开始查找,第2次出现子字符串’o’的起始位置为8。
INSTR(str, sub_str, -start_pos)
例如:SELECT INSTR(‘hello world’, ‘o’, -5) FROM dual;
结果为8,表示在字符串’hello world’中,从倒数第5个位置开始往前查找,第一个子字符串’o’的起始位置为8。
需要注意的是,INSTR函数返回的位置是从1开始计数的。如果找不到子字符串,则返回0。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: 三元表达式与decode函数的区别