探究TRIM函數Oracle TRIM函數,最簡單的功能就是使用它來去除字符串的行首和行尾的空格,這個功能也是大家使用頻率最高的一種。然
探究TRIM函數
Oracle TRIM函數,最簡單的功能就是使用它來去除字符串的行首和行尾的空格,這個功能也是大家使用頻率最高的一種。
然而Oracle TRIM函數其實是具有刪除“任意指定”字符的功能。
1.先看一下Oracle TRIM函數的完整語法描述
TRIM([ { { LEADING | TRAILING | BOTH }
[ trim_character ]
| trim_character
}
FROM
]
trim_source
)
2.不適用任何參數
SQL> select trim(' helle,redcat ') "greeting"
2 from dual;
greeting
------------
helle,redcat
這是最常見的一種使用方法,都使用默認的參數,默認情況下TRIM會同時刪除字符串前后出現的空格。
等同于下面帶有“BOTH”參數的寫法
SQL> select trim(both from ' hello,redcat ') "greeting"
2 from dual
3 ;
greeting
------------
hello,redcat
“BOTH”參數表示同時去除字符串前后所指定的內容(默認情況下刪除空格)。
“TRAILING”參數可以完成字符串尾部空格的刪除功能。
“LEADING”參數正好相反,完成字符串頭部空格的刪除功能。
3.“trim_character” 參數改變了“刪除空格”的默認行為。
trim刪除兩邊指定的字符
SQL> select trim('s' from 'sssshello,redcatsss') "greeting"
2 from dual;
greeting
------------
hello,redcat
同上
SQL> select trim(both 's' from 'ssshello,redcatsss') "greeting"
2 from dual;
greeting
------------
hello,redcat
leading刪除字符串頭部指定字符
SQL> select trim(leading 's' from 'ssshello,redcatsss') "greeting"
2 from dual;
greeting
---------------
hello,redcatsss
trailing刪除字符串尾部指定字符
SQL> select trim(trailing 's' from 'ssshello,redcatsss') "greeting"
2 from dual;
greeting
---------------
ssshello,redcat
以上只能刪除指定單個字符,錯誤信息ORA-30001: trim set should have only one character若要刪除多個,則需要用以下方法。
4.使用RTRIM和LTRIM“連環拳”刪除指定多字符
ltrim刪除字符串左邊指定的字符
SQL> select ltrim('sasaashello,redcatsaassa','sa') "greeting"
2 from dual;
greeting
------------------
hello,redcatsaassa
rtrim刪除字符串右邊指定的字符
SQL> select rtrim('sasaashello,redcatsaassa','sa') "greeting"
2 from dual;
greeting
------------------
sasaashello,redcat
ltrim 和rtrim聯合使用達到我們的目的
SQL> select ltrim(rtrim('sasaashello,redcatsaassa','sa'),'sa') "greeting"
2 from dual;
greeting
------------
hello,redcat
使用RTRIM和LTRIM函數時的注意事項:“xy”不表示整個“xy”字符串進行匹配,而是發現任意的字符“x”或字符“y”均做刪除操作。
5. 感悟
一個小小的函數能找出這么多功能,嘿嘿,小小發現。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com