oracle查询中位值,Oracle TRIM函数探究

探究TRIM函数Oracle TRIM函数,最简单的功能就是使用它来去除字符串的行首和行尾的空格,这个功能也是大家使用频率最高的一种。然

探究TRIM函数

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

然而Oracle TRIM函数其实是具有删除“任意指定”字符的功能。

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

TRIM([ { { LEADING | TRAILING | BOTH }

[ trim_character ]

| trim_character

}

FROM

]

trim_source

)

2.不适用任何参数

SQL> select trim(' helle,redcat ') "greeting"

2 from dual;

greeting

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

helle,redcat

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

等同于下面带有“BOTH”参数的写法

SQL> select trim(both from ' hello,redcat ') "greeting"

2 from dual

3 ;

greeting

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

hello,redcat

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

“TRAILING”参数可以完成字符串尾部空格的删除功能。

“LEADING”参数正好相反,完成字符串头部空格的删除功能。

3.“trim_character” 参数改变了“删除空格”的默认行为。

trim删除两边指定的字符

SQL> select trim('s' from 'sssshello,redcatsss') "greeting"

2 from dual;

greeting

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

hello,redcat

同上

SQL> select trim(both 's' from 'ssshello,redcatsss') "greeting"

2 from dual;

greeting

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

hello,redcat

leading删除字符串头部指定字符

SQL> select trim(leading 's' from 'ssshello,redcatsss') "greeting"

2 from dual;

greeting

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

hello,redcatsss

trailing删除字符串尾部指定字符

SQL> select trim(trailing 's' from 'ssshello,redcatsss') "greeting"

2 from dual;

greeting

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

ssshello,redcat

以上只能删除指定单个字符,错误信息ORA-30001: trim set should have only one character若要删除多个,则需要用以下方法。

4.使用RTRIM和LTRIM“连环拳”删除指定多字符

ltrim删除字符串左边指定的字符

SQL> select ltrim('sasaashello,redcatsaassa','sa') "greeting"

2 from dual;

greeting

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

hello,redcatsaassa

rtrim删除字符串右边指定的字符

SQL> select rtrim('sasaashello,redcatsaassa','sa') "greeting"

2 from dual;

greeting

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

sasaashello,redcat

ltrim 和rtrim联合使用达到我们的目的

SQL> select ltrim(rtrim('sasaashello,redcatsaassa','sa'),'sa') "greeting"

2 from dual;

greeting

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

hello,redcat

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

5. 感悟

一个小小的函数能找出这么多功能,嘿嘿,小小发现。

logo.gif

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值