Oracle数据库学习笔记_trim( )、ltrim( )、rtrim( )三个函数的用法

一、去除字符串前后空格(基本用法)

例 1:
SELECT TRIM(' Sample ');
结果:
'Sample'
例 2:
SELECT LTRIM(' Sample ');
结果:
'Sample '
例 3:
SELECT RTRIM(' Sample ');
结果:
' Sample'

二、去除字符串左右 / 中指定字符(进阶用法)

trim( leading/trailing/both string1 FROM string2):从string2中去除左侧 /右侧/左侧两侧(默认是both,即左右侧都去掉)的string1字符,直到在string1中遇上某个字符,该字符不在string2字符集合中。注意,string1只能是单个字符。

例如:

SELECT trim('a' from 'aabac') FROM dual;
--------
bac

SELECT trim(leading 'a' from 'aabac') FROM dual;
-------
bac

SELECT trim(trailing 'a' from 'aabac') FROM dual;
-------
aabac

ltrim(string1,string2),rtrim(string1,string2):从字符串string1左侧(右侧)开始去除与string2字符集合中单个字符匹配的字符,直到在string1中遇上某个字符,该字符不在string2字符集合中。

在以string2为基础对string1做字符去除的时候,string2并不是作为一个字符串那样的整体来与string1匹配的,而是单个单个字符的匹配,实际上是将string2视作“字符集合”而不是“字符串”。比如string1='abccba',string2='abc',如果string2作为一个整体来匹配,显然不管是用ltrim还是rtrim函数,对string1操作之后返回的结果应该是'cba',但实际上不是,返回的是一个空串!

例如:

SELECT ltrim('abccba','abc') ltrim FROM dual;

--------

(返回的是空串)

SELECT ltrim('abcxcba','abc') ltrim FROM dual;

--------

xcba(结果并不是只剩一个“x”,而是包括stirng1中“x”以及右侧的字符)

SELECT rtrim('abcxcba','abc') rtrim FROM dual;

--------

abcx(结果并不是只剩一个“x”,而是包括stirng1中“x”以及左侧的字符)
————————————————

转载原文链接:https://blog.csdn.net/Velen_zou/article/details/70569895

原文地址:https://www.cnblogs.com/tongying/p/13206692.html