oracle通過substr和instr截取指定字符


一:要截取數據如下:

  1.      JD-JD693-A-11OCT141105-D 
  2.      CA-CA1344-A-11OCT141250-D

二:查詢結果:

方式一: select substr(name,instr(name,'-',1)+1,instr(name,'-',instr(name,'-',1)+1)-instr(name,'-',1)-1) from test;

方式二: select substr(name,instr(name,'-',1,1)+1,instr(name,'-',1,2)-1-instr(name,'-',1,1)) from test;

結果如下:

 

 

 

三:接下截取第二個"-" 到 第三個"-" 之間的字符串的方法:

   select substr(name,instr(name,'-',2,2)+1,instr(name,'-',2,3)-1-instr(name,'-',2,2)) from test;

結果如下:

 

 

補充:

   select  substr(t.COL1,0,instr(t.COL1,',','1','1')-1)   from AQ_MBGL t;       (截取第一個,號前 的數據)

   select  substr(t.COL1,instr(t.COL1,',','1','2')+1,length(t.COL1))  from AQ_MBGL t  (截取第二個,號后 到結尾 的數據)  案列:德銅 傷亡事故


免責聲明!

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



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