oracle中的trim函数使⽤介绍
Oracle TRIM函数是很常见的函数,下⾯对Oracle TRIM函数的语法作了详尽的阐述说明,希望可以让您对Oracle TRIM函数有更深的认识。
如果提到Oracle TRIM函数,最简单的功能就是使⽤它来去除字符串的⾏⾸和⾏尾的空格,这个功能也是⼤家使⽤频率最⾼的⼀种。
然⽽Oracle TRIM函数其实是具有删除“任意指定”字符的功能,不可谓不⽜。我们来⼀次体验之旅。
1.先看⼀下Oracle TRIM函数的完整语法描述
TRIM([ { { LEADING | TRAILING | BOTH }
[ trim_character ]
| trim_character
}
FROM
]
trim_source
)
2.最简单的⽤法开始
不使⽤任何参数:
****************>selecttrim('DWEYE')""fromdual;
TRIM e.g
--------
DWEYE
这也是最常见的⼀种使⽤⽅法,都使⽤默认的参数,默认情况下TRIM会同时删除字符串前后出现的空格。
3.其实第⼀种常⽤的⽅法等同于下⾯带有“BOTH”参数的写法
****************>selecttrim(bothfrom'DWEYE')""fromdual;
TRIM e.g
--------
DWEYE
“BOTH”参数表⽰同时去除字符串前后所指定的内容(默认情况下删除空格)。
4.既然试⽤了BOTH参数,我们再看⼀下“TRAILING”和“LEADING”参数效果
****************>selecttrim(trailingfrom'DWEYE')""fromdual;
------------
DWEYE
****************>selecttrim(leadingfrom'DWEYE')""fromdual;
------------
DWEYE
可见,使⽤“TRAILING”参数可以完成字符串尾部空格的删除功能;⽽“LEADING”参数正好相反,完成字符串头部空格的删除功能。
也就是说,使⽤“TRAILING”和“LEADING”参数可以指定空格的删除位置。
5.“trim_character”参数粉墨登场
这个参数改变了“删除空格”的默认⾏为。
如果想要删除字符串'xxxxDWEYExxxx'前后出现的“x”,“trim_character”参数就派上⽤场了。
****************>selecttrim('x'from'xxxxDWEYExxxx')""fromdual;
TRIM e.g
--------
DWEYE
配合“BOTH”、“TRAILING”和“LEADING”三个参数使⽤效果如下,与之前演⽰类似。看结果,不赘述。
****************>selecttrim(both'x'from'xxxxDWEYExxxx')""fromdual;
TRIM e.g
--------
DWEYE
****************>selecttrim(trailing'x'from'xxxxDWEYExxxx')""fromdual;
------------
xxxxDWEYE
****************>selecttrim(leading'x'from'xxxxDWEYExxxx')""fromdual;
------------
DWEYExxxx
6.需要注意的地⽅
这⾥的“trim_character”参数只允许包含⼀个字符,不⽀持多字符。
报错信息如下:
****************>selecttrim(leading'xy'from'xyxxDWEYExyyx')""fromdual;
select trim (leading 'xy' from 'xyxxDWEYExyyx') "" from dual
*
ERROR at line 1:
ORA-30001: trim set should have only one character
既然TRIM不能满⾜我们删除只剩“DWEYE”字符串的要求,有么有其他⼿段呢?of course有。我们使⽤RTRIM和LTRIM“连环拳”完成这个任务。
1)使⽤RTRIM
****************>selectrtrim('xyxxDWEYExyyx','xy')"e.g."fromdual;
<
------------
xyxxDWEYE
2)使⽤LTRIM
****************>selectltrim('xyxxDWEYExyyx','xy')"e.g."fromdual;
<
------------
DWEYExyyx
3)联合使⽤RTRIM和LTRIM函数达到我们的⽬的
****************>selectltrim(rtrim('xyxxDWEYExyyx','xy'),'xy')"e.g."fromdual;
<
--------
DWEYE
使⽤RTRIM和LTRIM函数时的注意事项:“xy”不表⽰整个“xy”字符串进⾏匹配,⽽是发现任意的字符“x”或字符“y”均做删除操作。
7.⼩结trim函数的作用是删除文本的什么空格
在感受Oracle函数带来便利的同时,建议对每⼀个常⽤函数都追本溯源地探究⼀下,也许在尝试之后您会发现:哦,原来⼤家经常⽤到这些⽅法只是其真实功能的沧海⼀粟。
以下是其它⽹友的补充:
如 trim('字符1' from '字符串2') ,字符1只能是单个字符。
1. trim()删除字符串两边的空格。
2. ltrim()删除字符串左边的空格。
3. rtrim()删除字符串右边的空格。
4. trim('字符1' from '字符串2') 分别从字符2串的两边开始,删除指定的字符1。
5. trim([leading | trailing | both] trim_char from string) 从字符串String中删除指定的字符trim_char。
leading:从字符串的头开始删除。
trailing:从字符串的尾部开始删除。
borth:从字符串的两边删除。
6. tim()只能删除半⾓空格。
For example:
trim(' tech ') would return 'tech';
trim(' ' from ' tech ') would return 'tech';
trim(leading '0' from '000123') would return '123';
trim(trailing '1' from 'Tech1') would return 'Tech';
trim(both '1' from '123Tech111') would return '23Tech';
oracle中的trim函数
Oracle中的trim函数是⽤来删除给定字符串或者给定数字中的头部或者尾部的给定字符。
trim函数具有如下的形式
trim([leading/trailing/both][匹配字符串或数值][from][需要被处理的字符串或数值])
这⾥如果指明了leading表⽰从删除头部匹配的字符串,如果指明了trailing表⽰从删除尾部匹配的字符串,如果指明了both,或者不指明任何位置,则两端都将被删除
如果不指明任何匹配字符串或数值则认为是空格,即删除前⾯或者后⾯的空格。
trim函数返回的类型是varchar2
下⾯是⼀些例⼦:
截去了数字7500的后⾯的两个0
SQL> select trim(0 from 7500) from dual;
TRIM
—-
75
下⾯的例⼦截去了' 中秋⼋⽉中'前后的两个'中'字
SQL> select trim('中‘ from ‘中秋⼋⽉中‘) as 诗 from dual;
——————
秋⼋⽉
下⾯的例⼦截去了' 半夜⼆更半'前⾯的⼀个'半'字
SQL> select trim(leading ‘半‘ from ‘半夜⼆更半‘) as 诗 from dual;
————————
夜⼆更半

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。