zoukankan      html  css  js  c++  java
  • oracle中INSTR函数的用法

    今天有个同学问我这个INSTR函数,我也不太清楚就上网查了查做一个小小的记录吧

    INSTR(C1,C2,I,J) 
    在一个字符串中搜索指定的字符,返回发现指定的字符的位置; 
    C1 被搜索的字符串 
    C2 希望搜索的字符串 
    I 搜索的开始位置,默认为1 
    J 出现的位置,默认为1 
    SQL> select instr(oracle traning,ra,1,2) instring from dual; 
    INSTRING 
    --------- 

    他的位置搜索是从1开始的也就是说o的位置是1,这点要分清楚。


    INSTR方法的格式为
    INSTR(源字符串, 要查找的字符串, 从第几个字符开始, 要找到第几个匹配的序号)
    返回找到的位置,如果找不到则返回0.
    例如:INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符串为'CORPORATE FLOOR', 在字符串中查找'OR',从第三个字符位置开始查找"OR",取第三个字后第2个匹配项的位置。

    默认查找顺序为从左到右。当起始位置为负数的时候,从右边开始查找。

    所以SELECT INSTR('CORPORATE FLOOR', 'OR', -1, 1) "aaa" FROM DUAL的显示结果是

    Instring
    ——————
    1

    这个最巧妙的我感觉还是用在有几个固定值的order by中

    eg:order by instr("1,0,-1,2,8,9",mark,1,1)是不是感觉很方便。

    希望可以帮到大家

    引用原文:http://blog.csdn.net/q1059081877q/article/details/47091619

    写博客是为了记住自己容易忘记的东西,另外也是对自己工作的总结,文章可以转载,无需版权。希望尽自己的努力,做到更好,大家一起努力进步!

    如果有什么问题,欢迎大家一起探讨,代码如有问题,欢迎各位大神指正!

  • 相关阅读:
    03_ if 练习 _ little2big
    uva 11275 3D Triangles
    uva 12296 Pieces and Discs
    uvalive 3218 Find the Border
    uvalive 2797 Monster Trap
    uvalive 4992 Jungle Outpost
    uva 2218 Triathlon
    uvalive 3890 Most Distant Point from the Sea
    uvalive 4728 Squares
    uva 10256 The Great Divide
  • 原文地址:https://www.cnblogs.com/summary-2017/p/7735403.html
Copyright © 2011-2022 走看看