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;
TRIM e.g
--------
DWEYE
3.“trim_character”
这个参数改变了“删除空格”的默认行为。
如果想要删除字符串'xxxxDWEYExxxx'前后出现的“x”,“trim_character”参数就派上用场了。
sql>select trim ('x' from 'xxxxDWEYExxxx') "TRIM e.g." from dual;
TRIM e.g
--------
DWEYE
配合“BOTH”、“TRAILING”和“LEADING”三个参数使用效果如下,与之前演示类似。看结果,不赘述。
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”均做删除操作。