Oracle Instr函数实例讲解(oracle instr函数查询性能优化)干货满满

随心笔谈2年前发布 admin
235 0 0

文章摘要

这篇文章介绍了SQL的INSTR函数及其用法。INSTR函数用于在字符串中查找子字符串的位置,具有四个参数:字符串、子字符串、起始位置(可选,默认为1)和查找次数(可选,默认为2)。通过示例可以观察到: 1. **起始位置的正负含义**:正数表示从指定位置开始查找,负数表示从字符串末尾开始查找。 2. **查找次数的正负含义**:正数表示向前查找,负数表示向后查找。 3. **默认值**:如果未指定查找次数,默认为2次;如果未指定起始位置,默认为1。 文章通过7个示例展示了INSTR函数的不同用法,帮助读者理解其功能和参数的作用。

1、 select instr(‘helloworld’,’l’,2,2) from dual; –返回结果:4 也就是说:在”helloworld”的第2(e)号位置开始,查找第二次出现的“l”的位置
2、 select instr(‘helloworld’,’l’,3,2) from dual; –返回结果:4 也就是说:在”helloworld”的第3(l)号位置开始,查找第二次出现的“l”的位置
3、 select instr(‘helloworld’,’l’,4,2) from dual; –返回结果:9 也就是说:在”helloworld”的第4(l)号位置开始,查找第二次出现的“l”的位置
4、select instr(‘helloworld’,’l’,-1,2) from dual; –返回结果:4 也就是说:在”helloworld”的倒数第1(d)号位置开始,往回查找第二次出现的“l”的位置
5、 select instr(‘helloworld’,’l’,-2,2) from dual; –返回结果:4 和第四个一样
6、 select instr(‘helloworld’,’l’,2,3) from dual; –返回结果:9 也就是说:在”helloworld”的第2(e)号位置开始,查找第三次出现的“l”的位置
7、 select instr(‘helloworld’,’l’,-2,3) from dual; –返回结果:3 也就是说:在”helloworld”的倒数第2(l)号位置开始,往回查找第三次出现的“l”的位置

© 版权声明

相关文章