Oracle TRIM函数语法介绍

OracleTRIM函数是很常见的函数,下面对OracleTRIM函数的语法作了详尽的阐述说明,希望可以让您对OracleTRIM函数有更深的认识。

如果提到OracleTRIM函数,最简单的功能就是使用它来去除字符串的行首和行尾的空格,这个功能也是大家使用频率最高的一种。

然而OracleTRIM函数其实是具有删除“任意指定”字符的功能,不可谓不牛。我们来一次体验之旅。

1.先看一下OracleTRIM函数的完整语法描述

TRIM([{{LEADING|TRAILING|BOTH}

[trim_character]

|trim_character

}

FROM

]

trim_source

)

以上语法引自于Oracle10gR2官方文档:http://download.oracle.com/docs/...0/img_text/trim.htm

单从这个语法定义上我们就可以看出,小小的OracleTRIM函数蕴含了更多可定制的功能。一一展示,供参考。

2.最简单的用法开始

不使用任何参数:

[email protected]>selecttrim('DWEYE')"TRIMe.g."fromdual;

TRIMe.g

--------

DWEYE

这也是最常见的一种使用方法,都使用默认的参数,默认情况下TRIM会同时删除字符串前后出现的空格。

3.其实第一种常用的方法等同于下面带有“BOTH”参数的写法

[email protected]>selecttrim(bothfrom'DWEYE')"TRIMe.g."fromdual;

TRIMe.g

--------

DWEYE

“BOTH”参数表示同时去除字符串前后所指定的内容(默认情况下删除空格)。

4.既然试用了BOTH参数,我们再看一下“TRAILING”和“LEADING”参数效果

[email protected]>selecttrim(trailingfrom'DWEYE')"TRIMe.g."fromdual;

TRIMe.g.

------------

DWEYE

[email protected]>selecttrim(leadingfrom'DWEYE')"TRIMe.g."fromdual;

TRIMe.g.

------------

DWEYE

可见,使用“TRAILING”参数可以完成字符串尾部空格的删除功能;而“LEADING”参数正好相反,完成字符串头部空格的删除功能。

也就是说,使用“TRAILING”和“LEADING”参数可以指定空格的删除位置。

5.“trim_character”参数粉墨登场

这个参数改变了“删除空格”的默认行为。

如果想要删除字符串'xxxxDWEYExxxx'前后出现的“x”,“trim_character”参数就派上用场了。

[email protected]>selecttrim('x'from'xxxxDWEYExxxx')"TRIMe.g."fromdual;

TRIMe.g

--------

DWEYE

配合“BOTH”、“TRAILING”和“LEADING”三个参数使用效果如下,与之前演示类似。看结果,不赘述。

[email protected]>selecttrim(both'x'from'xxxxDWEYExxxx')"TRIMe.g."fromdual;

TRIMe.g

--------

DWEYE

[email protected]>selecttrim(trailing'x'from'xxxxDWEYExxxx')"TRIMe.g."fromdual;

TRIMe.g.

------------

xxxxDWEYE

[email protected]>selecttrim(leading'x'from'xxxxDWEYExxxx')"TRIMe.g."fromdual;

TRIMe.g.

------------

DWEYExxxx

6.需要注意的地方

这里的“trim_character”参数只允许包含一个字符,不支持多字符。

报错信息如下:

[email protected]>selecttrim(leading'xy'from'xyxxDWEYExyyx')"TRIMe.g."fromdual;

selecttrim(leading'xy'from'xyxxDWEYExyyx')"TRIMe.g."fromdual

*

ERRORatline1:

ORA-30001:trimsetshouldhaveonlyonecharacter

既然TRIM不能满足我们删除只剩“DWEYE”字符串的要求,有么有其他手段呢?ofcourse有。我们使用RTRIM和LTRIM“连环拳”完成这个任务。

1)使用RTRIM

[email protected]>selectrtrim('xyxxDWEYExyyx','xy')"e.g."fromdual;

e.g.

------------

xyxxDWEYE

2)使用LTRIM

[email protected]>selectltrim('xyxxDWEYExyyx','xy')"e.g."fromdual;

e.g.

------------

DWEYExyyx

3)联合使用RTRIM和LTRIM函数达到我们的目的

[email protected]>selectltrim(rtrim('xyxxDWEYExyyx','xy'),'xy')"e.g."fromdual;

e.g.

--------

DWEYE

使用RTRIM和LTRIM函数时的注意事项:“xy”不表示整个“xy”字符串进行匹配,而是发现任意的字符“x”或字符“y”均做删除操作。

7.小结

在感受Oracle函数带来便利的同时,建议对每一个常用函数都追本溯源地探究一下,也许在尝试之后您会发现:哦,原来大家经常用到这些方法只是其真实功能的沧海一粟。

相关推荐