关键词不能为空

当前您在: 主页 > 英语 >

Oracle TRIM、LTRIM、RTRIM函数功能与缺陷详解

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-08 09:07
tags:

-

2021年2月8日发(作者:then)


LTRIM(


左截断


) RTRIM


(右截断)函数



LTRIM (string


[,’Alpha’])



Left TRIM (


左截断


)


删去左边出现的 任何


Alpha


字符。



RTRIM (string


[,’


Alpha


’])



Right TRIM (


右截断


)


删去右边出现的 任何


Alpha


字符。




1




select LTRIM('ABCDDCBA','D')



--BCDCBA





1


select RTRIM('ABCDCBA','A')


--ABCDCB



2




select TRIM('D' from 'ABCDDCBA')








3




顾名思义,


TRIM


即表示全部截断,不分 左右(可以在参数里选择):




TR IM


可以使你对给定的字符串进行裁剪(前面,后


面或前后)。



如果指定



LEADING, Oracle



trim_char


中裁剪掉


前面的字符;



如果指定


TRAILING, Oracle



trim_char


中裁剪掉


尾面的字符;



如果指定


BOTH



Ora cle



trim_char


中裁剪 掉所有


指定字符(注意,此处有限制,只能是单个字符,而


且无 法取出位于字符串正中间的字符,这个在后面说



)

< p>


如果指定两个都指定或一个都没有给出,


Ora cle



trim_char


中裁剪掉前面及尾面的字符;



如果不指定



trim_character,


缺省为空格符;



如果只指定


trim_source, Oracle Oracle



trim_char


中裁剪掉前面及尾面的字符。



例:



select TRIM('D' from 'ABCDDCBA')


dual;



--BCDDCB




4





于是乎我就在想它如果遇到字符串长度单双会怎么裁剪呢?然 后就发现


bug


了!



如下:



select TRIM('D' from 'ABCDCBA')


---

字符串长度为单数时无法删除


正中间的字符



ABCDCBA


select LTRIM('ABCDCBA','D')


--ABCDCBA


select RTRIM('ABCDCBA','D')


--ABCDCBA


select TRIM('D' from 'ABCDDCBA')



---

字符串长度为单数时无法


删除正中间的字符



ABCDDCBA


select LTRIM('ABCDDCBA','D')


select RTRIM('ABCDDCBA','D')



暴漏出的缺 陷是:


1


、这三个


TRIM

< p>
函数都无法对位于字符串正中间的字符进行处理;

















2



TRIM


函数仅支持去除单个字符,而


LTRIM



RTRIM


则可支持


多个字符。





5





以上为个人原创,如需详细了解可以参考如下文档:






ora cle



trim


< br>ltrim



rtrim


函数用 法



oracle


< br>trim



ltrim



rtrim


函数用法



该函数共有两种作用:



第一种,即大家都比较熟悉的去除空格。



例子:



--TRIM


去除指定字符的前后空格



SQL> SELECT TRIM(' dd df ') FROM dual;



TRIM('DDDF')



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



dd df




--LTRIM


去除指定字符的前面空格



SQL> SELECT LTRIM(' dd df ') FROM dual;



LTRIM('DDDF')



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



dd df




--RTRIM


去除指定字符后面后空格




SQL> SELECT RTRIM(' dd df ') FROM dual;



RTRIM('DDDF')



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



dd df




第二种,去除指定的字符。< /p>


trim


只能去除单个字符


,而


ltrim



rtrim


可以去除多个字符。




trim


去除字符的写法:



--


表示字符串


string2


去除前面


|


后面


|

< p>
前后面(


leading|trailing|both

< br>)的字符


string1


,默认


去除方式为


both



SELECT TRIM(leading|trailing|both string1 FROM string2) FROM dual;



例子:



SQL> SELECT trim(leading 'd' from 'dfssa') FROM dual;



TRIM(LEADING'D'FROM'DFSSA')



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



fssa




SQL> SELECT trim(both '1' from '123sfd111') FROM dual;



TRIM(BOTH'1'FROM'123SFD111')



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



23sfd




SQL> SELECT trim(trailing '2' from '213dsq12') FROM dual;



TRIM( TRAILING'2'FROM'213DSQ12'



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



213dsq1



< br>注:


trim


去除字符只能是单个字符,如下,要去除的 字符若为字符集则报错



SQL> SELECT trim(trailing '12' from '123dsq12') FROM dual;



SELECT trim(trailing '12' from '123dsq12') FROM dual



ORA-30001:


截取集仅能有一个字符



< p>
ltrim



rtrim


去除字符的写法:



--


表示字符串< /p>


string1


去除前面与


string 2


字符集匹配的,若无匹配则结束返回



SELECT ltrim(string1,string2) FROM dual;


--rtrim



ltr im


类似,只是去除的是右边算起匹配的字符



SELECT rtrim(string1,string2) FROM dual;



例子:



--


如下,由于从右边算起,第一个字母是


b


没有与


'main'


匹配的字符,因此返回结果 仍是


'aaaaminb'



SQL> SELECT rtrim('aaaaminb','main') FROM dual;



RTRIM('AAAAMINB','MAIN')



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



aaaaminb




--


如下返回结果为空



SQL> SELECT rtrim('aaaaminb','mainb') FROM dual;



RTRIM('AAAAMINB','MAINB')


-


-


-


-


-


-


-


-



本文更新与2021-02-08 09:07,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/613516.html

Oracle TRIM、LTRIM、RTRIM函数功能与缺陷详解的相关文章

  • 余华爱情经典语录,余华爱情句子

    余华的经典语录——余华《第七天》40、我不怕死,一点都不怕,只怕再也不能看见你——余华《第七天》4可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,

    语文
  • 心情低落的图片压抑,心情低落的图片发朋友圈

    心情压抑的图片(心太累没人理解的说说带图片)1、有时候很想找个人倾诉一下,却又不知从何说起,最终是什么也不说,只想快点睡过去,告诉自己,明天就好了。有时候,突然会觉得

    语文
  • 经典古训100句图片大全,古训名言警句

    古代经典励志名言100句译:好的药物味苦但对治病有利;忠言劝诫的话听起来不顺耳却对人的行为有利。3良言一句三冬暖,恶语伤人六月寒。喷泉的高度不会超过它的源头;一个人的事

    语文
  • 关于青春奋斗的名人名言鲁迅,关于青年奋斗的名言鲁迅

    鲁迅名言名句大全励志1、世上本没有路,走的人多了自然便成了路。下面是我整理的鲁迅先生的名言名句大全,希望对你有所帮助!当生存时,还是将遭践踏,将遭删刈,直至于死亡而

    语文
  • 三国群英单机版手游礼包码,三国群英手机单机版攻略

    三国群英传7五神兽洞有什么用那是多一个武将技能。青龙飞升召唤出东方的守护兽,神兽之一的青龙。玄武怒流召唤出北方的守护兽,神兽之一的玄武。白虎傲啸召唤出西方的守护兽,

    语文
  • 不收费的情感挽回专家电话,情感挽回免费咨询

    免费的情感挽回机构(揭秘情感挽回机构骗局)1、牛牛(化名)向上海市公安局金山分局报案,称自己为了挽回与女友的感情,被一家名为“实花教育咨询”的情感咨询机构诈骗4万余元。

    语文