oracle字段根據字符串拆分,用subStr()和inStr()進行拆分


  今天進行字符串根據字符拆分的sql的編寫,剛開始是按照split的方式進行處理的,Oracle是沒有現成的split函數的,需要在網上找。網上大多是處理之后會變成collection的,結果是不好處理的,比如拆分之后,要把拆分出來的前半部分和后半部分做成兩列,第一列可以根據rownum=1進行處理,第二列開始就不行了。

  所以考慮用subStr()和inStr()進行拆分,先用inStr()查出符號的位置,再通過subStr()進行截取,如下:

select substr('前/后',0,instr('前/后','/',1,1)-1) first
      ,substr('前/后',instr('前/后','/',1,1)+1,length('前/后')) last 
  from dual

  執行結果:

      

  

=================================================================

INSTR(源字符串, 要查找的字符串, 從第幾個字符開始找, 要找到第幾個匹配的序號)

INSTR(C1,C2,I,J) 
在一個字符串中搜索指定的字符,返回發現指定的字符的位置; 
C1 被搜索的字符串 
C2 希望搜索的字符串 
I 搜索的開始位置,默認為1 
J 出現的位置,默認為1 

===================================================================

substr函數的用法:
 取得字符串中指定起始位置和長度的字符串   substr( string, start_position, [ length ] )
---------------------
作者:J夢幻
來源:CSDN
原文:https://blog.csdn.net/panlanghao/article/details/74991982
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM