Oracle TRIM函数语法介绍

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”均做删除操作。

原文地址:https://www.cnblogs.com/liuyang-inf/p/3621026.html