Oracle TRIM函數探究

來源:互聯網
上載者:User

探究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. 感悟
一個小小的函數能找出這麼多功能,嘿嘿,小小發現。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.