Oracle 的trim,ltrim,rtrim函數的區別


該函數共有兩種作用:
第一種,即大家都比較熟悉的去除空格。
例子:
--TRIM去除指定字符的前后空格
SQL> SELECT TRIM(' dd df ') FROM dual;
TRIM('DDDF')
------------
dd df

--LTRIM去除指定字符的前面空格
SQL> SELECT LTRIM(' dd df ') FROM dual;
LTRIM('DDDF')
-------------
dd df

--RTRIM去除指定字符后面后空格
SQL> SELECT RTRIM(' dd df ') FROM dual;
RTRIM('DDDF')
-------------
 dd df

第二種:去除字符:

select ltrim('10999910224323109999999','109') from dual;

select rtrim('10999910224323109999999','109') from dual;

這兩個是把后面的“109”拆分成字符“1”,“0”,“9”,當有1,0,或者9 的時候就截取掉。

trim去除字符的寫法:
--表示字符串string2去除前面|后面|前后面(leading|trailing|both)的字符string1,默認去除方式為both
SELECT TRIM(leading|trailing|both string1 FROM string2) FROM dual;

例子:
SQL> SELECT trim(leading 'd' from 'dfssa') FROM dual;
TRIM(LEADING'D'FROM'DFSSA')
---------------------------
fssa

SQL> SELECT trim(both '1' from '123sfd111') FROM dual;
TRIM(BOTH'1'FROM'123SFD111')
----------------------------
23sfd

SQL> SELECT trim(trailing '2' from '213dsq12') FROM dual;
TRIM(TRAILING'2'FROM'213DSQ12'
------------------------------
213dsq1

注:trim去除字符只能是單個字符,如下,要去除的字符若為字符集則報錯
SQL> SELECT trim(trailing '12' from '123dsq12') FROM dual;
SELECT trim(trailing '12' from '123dsq12') FROM dual
ORA-30001: 截取集僅能有一個字符

 


免責聲明!

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



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