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 第二种,去除指定的字符。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 |
|