oracle 字串處理實踐

來源:互聯網
上載者:User

背景一:

人員資訊表,表中有email_address欄位,欄位裡面的值有如下的格式:

 name1@test.com.cn或者name2/test/com/cn

想得到人名字。

用字串處理函數如下:

代碼一:

select email_address
      --,instr(email_address,'@',1,1)
      --,decode(instr(email_address,'@'),0,'未加@',substr(email_address,instr(email_address,'@'),length(email_address))) 判斷
      ,replace(email_address
               ,substr(
                       email_address
                       ,decode(
                                 decode(
                                         instr(email_address,'@')
                                         ,0
                                         ,instr(email_address,'@')
                                         ,0
                                        )
                                  ,0
                                  ,instr(email_address,'/')
                                )
                       ,length(email_address)+1-decode(
                                                        decode(
                                                               instr(email_address,'@')
                                                               ,0
                                                               ,instr(email_address,'@'),0
                                                               )
                                                         ,0
                                                         ,instr(email_address,'/')
                                                         )
                       )
              )
   --   ,decode(decode(instr(email_address,'@'),0,instr(email_address,'@'),0),0,instr(email_address,'/'))
from ontact

--完畢 裡面有複雜的判斷主要用到decode進行判斷,分開始'@'還是'/'

 

處理二:

使用regexp_replace

 select email_address ,regexp_replace(email_address,'(@|/)[a-zA-Z./@]*') from ca_contact

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.