From: http://www.cnblogs.com/gsk99/archive/2011/04/25/2027359.html
LTRIM、RTRIM和TRIM在ORACLE中的用法:
1、LTRIM(C1,C2)
其中C1和C2都可以字符串,例如C1是'Miss Liu',C2'MisL'等等。这是第一个和SQL SERVER不一样的地方。如果记得不错的话SQL Server的LTRIM只有一个参数,作用是去掉字符串左面的空格。而Oracle的LTRIM则是保证C1的第一个字符不能出现在C2字符串中。
SQL> select LTRIM( 'Miss Liu', 'Liu') Result from dual;
RESULT
--------
Miss Liu
SQL> select LTRIM( 'Miss Liu', 'M is') result from dual;
RES
---
Liu
从上述就可以看出LTRIM的作用。但是如果第二个字符串不进行输入,那么LTRIM的作用和SQL SERVER中就相同,就是去掉左面的空格。
SQL> select ltrim( ' Miss Liu ' ) result from dual;
RESULT
----------
Miss Liu
SQL> select length( ' Miss Liu ' ) len1, length( ltrim( ' Miss Liu ' ) ) lentrim from dual;
LEN1 LENTRIM
---------- ----------
12 10
由上述可以看出Oracle的LTrim的功能应该更强大一些,能够对前导符进行操作。
2、RTRIM的功用和LTRIM相同,但是RTRIM修改成了从右向左的,这样子就是去掉后导符中的特定字符。
3、TRIM的功能如下描述:
In Oracle/PLSQL, the trim function removes all specified characters either from the beginning or the ending of a string.
The syntax for the trim function is:
trim( [ leading | trailing | both [ trim_character ] ] string1 )
leading - remove trim_string from the front of string1.
trailing - remove trim_string from the end of string1.
both - remove trim_string from the front and end of string1.
If none of these are chosen (ie: leading, trailing, both), the trim function will remove trim_string from both the front and end of string1.
trim_character is the character that will be removed from string1. If this parameter is omitted, the trim function will remove all leading and trailing spaces from string1.
string1 is the string to trim.
trim(' tech ') would return 'tech'
trim(' ' from ' tech ') would return 'tech'
trim(leading '0' from '000123') would return '123'
trim(trailing '1' from 'Tech1') would return 'Tech'
trim(both '1' from '123Tech111') would return '23Tech
上面的这些都已经被验证了,其中leading trailing和Both后面的From不可省略