您的位置:首页 > 数据库 > Oracle

oracle中trim,ltrim,rtrim函数的不同用法

2015-07-23 23:41 666 查看

该函数共有两种作用:

第一种,即大家都比较熟悉的去除空格。

例子:

--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

第二种,去除指定的字符。trim只能去除单个字符,而ltrim和rtrim可以去除多个字符。

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: 截取集仅能有一个字符

ltrim和rtrim去除字符的写法:

--表示字符串string1去除前面与string2字符集匹配的,若无匹配则结束返回

SELECT ltrim(string1,string2) FROM dual;

--rtrim与ltrim类似,只是去除的是右边算起匹配的字符

SELECT rtrim(string1,string2) FROM dual;

例子:

--如下,由于从右边算起,第一个字母是b没有与'main'匹配的字符,因此返回结果仍是'aaaaminb'

SQL> SELECT rtrim('aaaaminb','main') FROM dual;

RTRIM('AAAAMINB','MAIN')

------------------------

aaaaminb

--如下返回结果为空

SQL> SELECT rtrim('aaaaminb','mainb') FROM dual;

RTRIM('AAAAMINB','MAINB')

-------------------------

SQL> SELECT ltrim('ccbcminb','cb') FROM dual;

LTRIM('CCBCMINB','CB')

----------------------

minb

希望可以帮到大家,这也是在网上查的可用的,急用的函数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: