Oracle中通过substr和instr实现截取指定字符之间的字符串:
生活随笔
收集整理的這篇文章主要介紹了
Oracle中通过substr和instr实现截取指定字符之间的字符串:
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
摘要:在開發項目的過程中遇到了這樣的一個問題,就是從遠程服務器取到的數據中是由一段規則的字符串組成的,但是你想要的還不是這段字符串,是其中的一段字符串,那就的使用Oracle強大的函數了,我的問題是這樣的,我要把如下所示紅框內的那段字符串截取出來,就是說截取第一個"-"和第二個“-”之間的字符串出來:
一:如圖所示:
二:新建數據表:
三:給表中插入數據: insert into test values('CA-CA1344-A-11OCT141250-D'); insert into test values('JD-JD693-A-11OCT141105-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;七:結果如下:
總結
以上是生活随笔為你收集整理的Oracle中通过substr和instr实现截取指定字符之间的字符串:的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何实现Oracle数据库之间的数据同步
- 下一篇: Nginx反向代理及负载均衡