Oracle替換函數之replace和translate

來源:互聯網
上載者:User

標籤:oracle   替換函數   replace   translate   

一、replace函數

replace函數的作用是將源目標中指定字串替換為相應字元,舉例如下:

(1)將“jisuanji”字串中的ji替換為1;

        SQL> select replace(‘jisuanji‘,‘ji‘,1) from dual;

         

        REPLACE(‘JISUANJI‘,‘JI‘,1)

        --------------------------

        1suan1

      說明:首先在‘jisuanji’字串中尋找‘ji’這個字串,如果尋找到,則用1替換,否則保持    原樣輸出。

(2)將“jisuanji”字串中的js替換為1;

        SQL> select replace(‘jisuanji‘,‘js‘,1) from dual;

         

        REPLACE(‘JISUANJI‘,‘JS‘,1)

        --------------------------

        jisuanji

      說明:‘jisuanji’這個字串中沒有找到‘js’這個連續的字元,所以保持原樣輸出;

二、translate函數

(3)translate函數與replace函數的區別主要是,translate將指定字串拆分成字元進行匹配並且每個字元與替換字元一一對應,舉例如下:

將jisuanji”字串中的ji替換為1;

            

        SQL> select translate(‘jisuanji‘,‘ji‘,1) from dual;

         

        TRANSLATE(‘JISUANJI‘,‘JI‘,1)

        ----------------------------

        1suan1

    說明:上面的例子中,sql將‘ji’拆分成‘j’‘i’這兩個字元,然後j與1進行匹配,但是i沒有匹配到替換字元,所以為空白,效果就是抹掉,最終得到的效果就是1suan1,這與replace同樣的例子效果一樣,但是原理不一樣,這點需要注意。

        SQL> select translate(‘jisuanji‘,‘js‘,12) from dual;

         

        TRANSLATE(‘JISUANJI‘,‘JS‘,12)

        -----------------------------

        1i2uan1i

 上面這裡例子揭示了translate函數的原理。



總結:通過對replace和translate函數對比分析並結合個人使用經驗,認為translate函數操作靈活,推薦使用translate函數代替replace函數。

Oracle替換函數之replace和translate

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.