Oracle中Translate函數的使用


一、語法:
TRANSLATE(string,from_str,to_str)
二、目的
返回將(所有出現的)from_str中的每個字符替換為to_str中的相應字符以后的string。TRANSLATE 是 REPLACE 所提供的功能的一個超集。如果 from_str 比 to_str 長,那么在 from_str 中而不在 to_str 中的額外字符將從 string 中被刪除,因為它們沒有相應的替換字符。to_str 不能為空。Oracle 將空字符串解釋為 NULL,並且如果TRANSLATE 中的任何參數為NULL,那么結果也是 NULL。
三、允許使用的位置
過程性語句和SQL語句。

四、示例
Sql代碼

基礎用法:

1. SELECT TRANSLATE('abcdefghij','abcdef','123456') FROM dual;
2. TRANSLATE (
3. --------------
4. 123456ghij
5.
6. SELECT TRANSLATE('abcdefghij','abcdefghij','123456') FROM dual;
7. TRANSL
8. ----------
9. 123456

使用例子:

1、比如需要將一個含有數字和字母的字段按照字母來進行排序

利用Translate函數將數字全部替換成空,這樣就可以得到一個只有字母的字段

SELECT TRANSLATE(DATA,'-1234567890','-') AS DATA
FROM TABLE
ORDER BY 1 DESC;

2、和substr函數一起使用,將字段中間的一部份值轉換成*,類似123***789(點擊跳轉到:substr的使用方法

用substr切割字段中的數據,例如:WIHC0701015下面的語句轉換會變成WIHC******5

SELECT TRANSLATE(DATA,SUBSTR(DATA,5,4),'****') AS DATA
FROM TABLE
ORDER BY 1 DESC;

借鑒的原文


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM