Oracle中的translate函數(shù)用法小結(jié)
語法:
translate(expr, from_strimg, to_string)
簡介:
translate返回expr,其中from_string中的每個字符的所有出現(xiàn)都被to_string中的相應字符替換。expr中不在from_string中的字符不會被替換。如果expr是一個字符串,那么你必須把它放在單引號中。 from_string的參數(shù)可以包含比to_string更多的字符。在這種情況下,from_string末尾的多余字符在to_string中沒有對應的字符。如果這些額外的字符出現(xiàn)在字符中,那么它們將從返回值中移除。
您不能使用to_string的空字符串從返回值中刪除from_string中的所有字符。Oracle數(shù)據(jù)庫將空字符串解釋為空,如果此函數(shù)具有空參數(shù),則返回null。
translate提供了與replate函數(shù)相關的功能。 replace讓你用一個字符串替換另一個字符串,以及刪除字符串。 translate允許您在一個操作中進行多個單字符,一對一的替換。
該函數(shù)不直接支持CLOB數(shù)據(jù)。但是,CLOB可以通過隱式數(shù)據(jù)轉(zhuǎn)換作為參數(shù)傳遞。
例子:
以下語句將一句話轉(zhuǎn)換為具有下劃線分隔的字符串。from_string包含四個字符:井號,美元符號,空格,星號。to_string只包含一個@符號和兩個下劃線。 這使得from_string中的第四個字符沒有相應的替換,所以星號從返回的值中刪除。
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卻沒有實現(xiàn)此效果,是因為沒有找到#%整體的組合
到此這篇關于Oracle中的translate函數(shù)用法的文章就介紹到這了,更多相關Oracle translate函數(shù)用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
在ORACLE中SELECT TOP N的實現(xiàn)方法
這篇文章主要介紹了在ORACLE中SELECT TOP N的實現(xiàn)方法,非常不錯,具有參考借鑒價值,需要的朋友參考下2017-01-01Oracle誤刪除表數(shù)據(jù)后的數(shù)據(jù)恢復詳解
這篇文章主要介紹了Oracle誤刪除表數(shù)據(jù)后的數(shù)據(jù)恢復詳解,需要的朋友可以參考下2015-08-08Oracle數(shù)據(jù)庫中的用戶授權(quán)、取消權(quán)限方式
Oracle數(shù)據(jù)庫中的用戶授權(quán)分為系統(tǒng)權(quán)限和對象權(quán)限,系統(tǒng)權(quán)限允許用戶執(zhí)行特定的系統(tǒng)級操作,如創(chuàng)建表或啟動事務,對象權(quán)限針對特定數(shù)據(jù)庫對象,如表、視圖或過程,包括SELECT、INSERT、UPDATE和DELETE等,角色是一組權(quán)限的集合,可以簡化權(quán)限管理2024-12-12inner join和left join之間的區(qū)別詳解
這篇文章主要給大家介紹了關于inner join和left join之間區(qū)別的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-01-01