• 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

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

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

  • 相关阅读:
    【POJ】1287 Networking
    【POJ】1251 Jungle Roads
    【POJ】1182 食物链
    【POJ】2492 A Bug's Life
    【HDUOJ】1213 How many tables
    【POJ】1611 The Suspects
    【POJ】2236 Wireless Network
    【POJ】2240 Arbitrage
    【POJ】3660 Cow Contest
    【POJ】1502 MPI Maelstrom
  • 原文地址:https://www.cnblogs.com/summary-2017/p/7735403.html
Copyright © 2020-2023  润新知