Oracle中的translate函數(shù)用法小結(jié)
語(yǔ)法:
translate(expr, from_strimg, to_string)
簡(jiǎn)介:
translate返回expr,其中from_string中的每個(gè)字符的所有出現(xiàn)都被to_string中的相應(yīng)字符替換。expr中不在from_string中的字符不會(huì)被替換。如果expr是一個(gè)字符串,那么你必須把它放在單引號(hào)中。 from_string的參數(shù)可以包含比to_string更多的字符。在這種情況下,from_string末尾的多余字符在to_string中沒有對(duì)應(yīng)的字符。如果這些額外的字符出現(xiàn)在字符中,那么它們將從返回值中移除。
您不能使用to_string的空字符串從返回值中刪除from_string中的所有字符。Oracle數(shù)據(jù)庫(kù)將空字符串解釋為空,如果此函數(shù)具有空參數(shù),則返回null。
translate提供了與replate函數(shù)相關(guān)的功能。 replace讓你用一個(gè)字符串替換另一個(gè)字符串,以及刪除字符串。 translate允許您在一個(gè)操作中進(jìn)行多個(gè)單字符,一對(duì)一的替換。
該函數(shù)不直接支持CLOB數(shù)據(jù)。但是,CLOB可以通過隱式數(shù)據(jù)轉(zhuǎn)換作為參數(shù)傳遞。
例子:
以下語(yǔ)句將一句話轉(zhuǎn)換為具有下劃線分隔的字符串。from_string包含四個(gè)字符:井號(hào),美元符號(hào),空格,星號(hào)。to_string只包含一個(gè)@符號(hào)和兩個(gè)下劃線。 這使得from_string中的第四個(gè)字符沒有相應(yīng)的替換,所以星號(hào)從返回的值中刪除。
SELECT TRANSLATE('itmyhome#163.com$is my* email', '#$ *', '@__') from dual
itmyhome@163.com_is_my_email和replace函數(shù)的區(qū)別
select translate('itmyhome#163%com', '#%', '@.') from dual;
select replace('itmyhome#163%com', '#%', '@.') from dual;
itmyhome@163.com
itmyhome#163%com上面的translate函數(shù)是將#替換為@,%替換為.
而replace卻沒有實(shí)現(xiàn)此效果,是因?yàn)闆]有找到#%整體的組合
到此這篇關(guān)于Oracle中的translate函數(shù)用法的文章就介紹到這了,更多相關(guān)Oracle translate函數(shù)用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Oracle中行列轉(zhuǎn)換的實(shí)現(xiàn)方法匯總
行列轉(zhuǎn)換是指將行數(shù)據(jù)轉(zhuǎn)換為列數(shù)據(jù),或?qū)⒘袛?shù)據(jù)轉(zhuǎn)換為行數(shù)據(jù)的過程,本文主要介紹了Oracle中行列轉(zhuǎn)換的實(shí)現(xiàn)方法匯總,用PIVOT和UNPIVOT函數(shù)來實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02
關(guān)于ORA-04091異常的出現(xiàn)原因分析及解決方案
這篇文章主要介紹了關(guān)于ORA-04091異常的出現(xiàn)原因分析及解決方案,本文給大家分享異常出現(xiàn)的場(chǎng)景及解決代碼,感興趣的朋友跟隨小編一起看看吧2023-05-05
Oracle 數(shù)據(jù)庫(kù) 臨時(shí)數(shù)據(jù)的處理方法
在Oracle數(shù)據(jù)庫(kù)中進(jìn)行排序、分組匯總、索引等到作時(shí),會(huì)產(chǎn)生很多的臨時(shí)數(shù)據(jù)。如有一張員工信息表,數(shù)據(jù)庫(kù)中是安裝記錄建立的時(shí)間來保存的。2009-06-06
Oracle數(shù)據(jù)庫(kù)"記錄被另一個(gè)用戶鎖住"解決方法(推薦)
數(shù)據(jù)庫(kù)是一個(gè)多用戶使用的共享資源。當(dāng)多個(gè)用戶并發(fā)地存取數(shù)據(jù)時(shí),在數(shù)據(jù)庫(kù)中就會(huì)產(chǎn)生多個(gè)事務(wù)同時(shí)存取同一數(shù)據(jù)的情況。這篇文章主要介紹了Oracle數(shù)據(jù)庫(kù)"記錄被另一個(gè)用戶鎖住"解決方法2018-03-03
Oracle用戶權(quán)限與對(duì)象權(quán)限示例詳解
Oracle數(shù)據(jù)庫(kù)用戶權(quán)限管理是數(shù)據(jù)庫(kù)安全的核心,主要通過角色和權(quán)限的分配實(shí)現(xiàn),這篇文章主要介紹了Oracle用戶權(quán)限與對(duì)象權(quán)限的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-08-08

