Oracle中trim的完整参数
TRIM([ { { LEADING | TRAILING | BOTH } [ trim_character ] | trim_character } FROM ]
trim_source
)
1.中括号中的参数为可选参数
-------------最简单的用法开始(默认状况下TRIM会同时删除字符串先后出现的空格。)
sql>select trim(' zhangsan ') 'name' from dual ;
name
-------------------
zhangsan
2. “BOTH”参数表示同时去除字符串先后所指定的内容(默认状况下删除空格)。
“TRAILING”参数能够完成字符串尾部空格的删除功能。
“LEADING”参数完成字符串头部空格的删除功能。
sql>select trim (both from ' DWEYE ') "TRIM e.g." from dual;sql
TRIM e.g
--------
DWEYE函数
3.“trim_character”
这个参数改变了“删除空格”的默认行为。
若是想要删除字符串'xxxxDWEYExxxx'先后出现的“x”,“trim_character”参数就派上用场了。字符串
sql>select trim ('x' from 'xxxxDWEYExxxx') "TRIM e.g." from dual; select
TRIM e.g
--------
DWEYEim
配合“BOTH”、“TRAILING”和“LEADING”三个参数使用效果以下,与以前演示相似。看结果,不赘述。di
sql>select trim (both 'x' from 'xxxxDWEYExxxx') "TRIM e.g." from dual; 字符
TRIM e.g
--------
DWEYE参数
sql> select trim (trailing 'x' from 'xxxxDWEYExxxx') "TRIM e.g." from dual;
TRIM e.g.
------------
xxxxDWEYE
sql> select trim (leading 'x' from 'xxxxDWEYExxxx') "TRIM e.g." from dual;
TRIM e.g.
------------
DWEYExxxx
须要注意的地方
这里的“trim_character”参数只容许包含一个字符,不支持多字符。
4.当要删除多个字符的时候要用到RTRIM和LTRIM
1)使用RTRIM
sql> select rtrim('xyxxDWEYExyyx','xy') "e.g." from dual;
e.g.
------------
xyxxDWEYE
2)使用LTRIM
sql> select ltrim('xyxxDWEYExyyx','xy') "e.g." from dual;
e.g.
------------
DWEYExyyx
3)联合使用RTRIM和LTRIM函数达到咱们的目的
sql> select ltrim(rtrim('xyxxDWEYExyyx','xy'),'xy') "e.g." from dual;
e.g.
--------
DWEYE
使用RTRIM和LTRIM函数时的注意事项:“xy”不表示整个“xy”字符串进行匹配,而是发现任意的字符“x”或字符“y”均作删除操做。