您好,登錄后才能下訂單哦!
一、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函數。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。