oracle去掉空格的方法:1.使用Trim函數去除字串首尾空格;2、使用rtrim和ltrim去除左右空格;3、使用replace函數去除字串裡的全部空格。
本文操作環境:Windows7系統、Dell G3電腦、Oracle 11g版。
oracle怎麼去掉空格?
oracle中對字串進行去除空格的方法:
#首先便是這Trim函數。 Trim 函數具有刪除任意指定字元的功能,而去除字串首尾空格則是trim函數被使用頻率最高的一種。
語法Trim ( string )
參數string:string類型,指定要刪除首部和尾部空格的字串傳回值String。
函數執行成功時回傳刪除了string字串首部和尾部空格的字串,發生錯誤時傳回空字串("")。
如果參數值為null時,會拋出空指標例外。
在oracle中,trim使用的形式多為人類rtrim()與ltrim()兩種,分別為去除字串右邊空格與去除字串左邊空格。
當然trim的功能不只如此,以下進行細緻的介紹,這裡我多以去除字串空格為例。
我們看trim函數的語法描述:
trim( [ { {leading|trailing|both} [trim_character]|trim_character} from] trim_source
1)、不使用任何參數
SQL> select trim(' 11 ') aa from dual;
11
這是最常見的一種使用方法,都使用預設的參數,預設情況下TRIM會同時刪除字串前後出現的空格。
2)、使用both參數,效果等同於方法一不使用任何參數
SQL> select trim(both from ' 11 ') aa from dual;
11
「BOTH」參數表示同時移除字串前後所指定的內容(預設刪除空格)。
3)、使用leading與trailing參數
SQL> select trim(leading from ' 11 ') aa from dual;
11
SQL> select trim(trailing from ' 11 ') aa from dual;
11
從結果中得分隔符號'-',可以發現使用leading參數可以去除字串右端的空格,而trailing參數則可以去除字串左端的空格。正如oracle提供的rtrim()與ltrim()。
4)、使用trim_character參數
trim_character參數改變了「刪除空格」的預設行為。如果想要刪除字串'xxxxWORLDxxxx'前後出現的“x”,“trim_character”參數就派上用場了。
SQL> select trim('x' from 'xxxxWORLDxxxx') aaaaa from dual;
WORLD
trim_character配合「both」、「trailing」和「leading」三個參數使用效果如下,與先前示範類似。看結果,不贅述。
SQL> select trim('x' from 'xxxxWORLDxxxx') aaaaa from dual;
WORLD
SQL> select trim(both 'x' from 'xxxxWORLDxxxx') aaaaa from dual;
WORLD
SQL> select trim(trailing 'x' from 'xxxxWORLDxxxx') aaaaa from dual;
xxxxWORLD
SQL> select trim(leading 'x' from 'xxxxWORLDxxxx') aaaaa from dual;
##WORLDxxxx
## 必須注意的一點是這裡的「trim_character」參數只允許包含一個字符,且不支援多重字元。 trim不能滿足我們去除多字符要求,但是我們可以使用rtrim和ltrim來處理。1)使用rtrim
SQL> select rtrim('ORxxxxWORLDxxxxOR','OR') aaaaa from dual;
ORxxxxWORLDxxxx
# #2)使用ltrim
SQL> select ltrim('ORxxxxWORLDxxxxOR','OR') aaaaa from dual;
3)聯合使用RTRIM和LTRIM函數達到我們的目的#
SQL> select rtrim(ltrim('ORxxxxWORLDxxxxOR','OR'),'OR') aaaaa from dual;
返回类型,如果 string_replace(1、2 或 3)是支持的字符数据类型之一,则返回字符数据;如果 string_replace(1、2 或 3)是支持的 binary 数据类型之一,则返回二进制数据。
这里我们依然以去空格为例。
SQL> select replace(' aa kk ',' ','') abcd from dual;
aakk
与使用trim函数的结果进行对比,我们可以发现,使用replace函数不仅可以去除字符串两端的空格,也可去除字符串内部的空格。
当然,如果只是要去除字符串两端的空格,使用trim函数效率会更高。
相关推荐:oracle数据库学习教程
以上是oracle怎麼去掉空格的詳細內容。更多資訊請關注PHP中文網其他相關文章!