oracle trim函数用法详解
在oracle数据库中,trim一般都是用在删除字符串两边的空格。实际上,trim也可以用来删除字符串两边的指定字符。并且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
)
以上语法引自于Oracle 10gR2官方文档:http://download.oracle.com/docs/ ... 0/img_text/trim.htm
单从这个语法定义上我们就可以看出,小小的Oracle TRIM函数蕴含了更多可定制的功能。一一展示,供参考。
2.最简单的用法开始
不使用任何参数:
gloria@www.jbxue.com> select trim (' DWEYE ') "TRIM e.g." from dual;
TRIM e.g
--------
DWEYE
这也是最常见的一种使用方法,都使用默认的参数,默认情况下TRIM会同时删除字符串前后出现的空格。
3.其实第一种常用的方法等同于下面带有“BOTH”参数的写法
gloria@www.jbxue.com> select trim (both from ' DWEYE ') "TRIM e.g." from dual;
TRIM e.g
--------
DWEYE
“BOTH”参数表示同时去除字符串前后所指定的内容(默认情况下删除空格)。
4.既然试用了BOTH参数,我们再看一下“TRAILING”和“LEADING”参数效果
gloria@www.jbxue.com> select trim (trailing from ' DWEYE ') "TRIM e.g." from dual;
TRIM e.g.
------------
DWEYE
gloria@www.jbxue.com> select trim (leading from ' DWEYE ') "TRIM e.g." from dual;
TRIM e.g.
------------
DWEYE
可见,使用“TRAILING”参数可以完成字符串尾部空格的删除功能;而“LEADING”参数正好相反,完成字符串头部空格的删除功能。
也就是说,使用“TRAILING”和“LEADING”参数可以指定空格的删除位置。
5.“trim_character”参数粉墨登场
这个参数改变了“删除空格”的默认行为。
如果想要删除字符串'xxxxDWEYExxxx'前后出现的“x”,“trim_character”参数就派上用场了。
gloria@www.jbxue.com> select trim ('x' from 'xxxxDWEYExxxx') "TRIM e.g." from dual;
TRIM e.g
--------
DWEYE
配合“BOTH”、“TRAILING”和“LEADING”三个参数使用效果如下,与之前演示类似。看结果,不赘述。
gloria@www.jbxue.com> select trim (both 'x' from 'xxxxDWEYExxxx') "TRIM e.g." from dual;
TRIM e.g
--------
DWEYE
gloria@www.jbxue.com> select trim (trailing 'x' from 'xxxxDWEYExxxx') "TRIM e.g." from dual;
TRIM e.g.
------------
xxxxDWEYE
gloria@www.jbxue.com> select trim (leading 'x' from 'xxxxDWEYExxxx') "TRIM e.g." from dual;
TRIM e.g.
------------
DWEYExxxx
6.需要注意的地方
这里的“trim_character”参数只允许包含一个字符,不支持多字符。
报错信息如下:
gloria@www.jbxue.com> select trim (leading 'xy' from 'xyxxDWEYExyyx') "TRIM e.g." from dual;
select trim (leading 'xy' from 'xyxxDWEYExyyx') "TRIM e.g." from dual
*
ERROR at line 1:
ORA-30001: trim set should have only one character
既然TRIM不能满足我们删除只剩“DWEYE”字符串的要求,有么有其他手段呢?of course有。我们使用RTRIM和LTRIM“连环拳”完成这个任务。
1)使用RTRIM
gloria@www.jbxue.com> select rtrim('xyxxDWEYExyyx','xy') "e.g." from dual;
e.g.
------------
xyxxDWEYE
2)使用LTRIM
gloria@www.jbxue.com> select ltrim('xyxxDWEYExyyx','xy') "e.g." from dual;
e.g.
------------
DWEYExyyx
3)联合使用RTRIM和LTRIM函数达到我们的目的
gloria@www.jbxue.com> select ltrim(rtrim('xyxxDWEYExyyx','xy'),'xy') "e.g." from dual;
e.g.
--------
DWEYE
使用RTRIM和LTRIM函数时的注意事项:“xy”不表示整个“xy”字符串进行匹配,而是发现任意的字符“x”或字符“y”均做删除操作。
7.小结
在感受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;
诗
————————
夜二更半
oracle trim函数用法详解的更多相关文章
- SQL中CONVERT()函数用法详解
SQL中CONVERT函数格式: CONVERT(data_type,expression[,style]) 参数说明: expression 是任何有效的 Microsoft® SQL Server ...
- php中setcookie函数用法详解(转)
php中setcookie函数用法详解: php手册中对setcookie函数讲解的不是很清楚,下面是我做的一些整理,欢迎提出意见. 语法: bool set ...
- eval()函数用法详解
eval()函数用法详解:此函数可能使用的频率并不是太高,但是在某些情况下具有很大的作用,下面就介绍一下eval()函数的用法.语法结构: eval(str) 此函数可以接受一个字符串str作为参数, ...
- 转载 LayoutInflater的inflate函数用法详解
http://www.open-open.com/lib/view/open1328837587484.html LayoutInflater的inflate函数用法详解 LayoutInflater ...
- delphi中Application.MessageBox函数用法详解
delphi中Application.MessageBox函数用法详解 Application.MessageBox是TApplication的成员函数,声明如下:functionTApplicati ...
- oracle expdp/impdp 用法详解
http://hi.baidu.com/hzfsai/item/4a4b3fc4b1cf7e51ad00efbd oracle expdp/impdp 用法详解 Data Pump 反映了整个导出/导 ...
- C语言对文件的操作函数用法详解2
fopen(打开文件) 相关函数 open,fclose 表头文件 #include<stdio.h> 定义函数 FILE * fopen(const char * path,const ...
- C语言对文件的操作函数用法详解1
在ANSIC中,对文件的操作分为两种方式,即: 流式文件操作 I/O文件操作 一.流式文件操作 这种方式的文件操作有一个重要的结构FILE,FILE在stdio.h中定义如下: typedef str ...
- python开发笔记之zip()函数用法详解
今天分享一篇关于python下的zip()函数用法. zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素按顺序组合成一个tuple,每个tuple中包含的是原 ...
随机推荐
- LeetCode118:Pascal's Triangle
Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5, Retu ...
- 【JMeter】初识JMeter(1)
一.JMeter介绍 JMeter是一款开源桌面应用软件,可以用来模拟用户负载来完成性能测试工作.JMeter的功能在版本升级的过程中已经十分强大,现在多数互联网公司都在使用JMeter来完成产品或者 ...
- 10个超棒jQuery表单操作代码片段
jQuery绝对是一个伟大的开源javascript类库,是帮助我们快速和高效开发前端应用的利器.可能大家在日常的开发过程中常常会处理表单相关的javascript,在今天这篇代码片段分享文章中,这里 ...
- NPOI 中的公式列的值的获取
方法1 NPOI 中,对 sheet 对象设置 ForceFormulaRecalculation = true,即可实现自动将 Excel 的公式计算出来. 方法2 循环 Excel 的行.列,取出 ...
- ssm(spring mvc+mybatis)+netty4开发qiq
发布时间:2018-10-30 技术:spring mvc+mybatis+nett4+layui 概述 简单快捷的IM方案,快速打造在线IM,可用于公司内网.外网通讯,客服系统等,实现了so ...
- iOS 瀑布流之栅格布局
代码地址如下:http://www.demodashi.com/demo/14760.html 一 .效果预览 二.确定需求 由下面的需求示意图可知模块的最小单位是正方形,边长是屏幕宽除去边距间隔后的 ...
- Oracle 中TNS的作用
什么是TNS? TNS是Oracle Net的一部分,专门用来管理和配置Oracle数据库和client连接的一个工具,在大多数情况下client和数据库要通讯,必须配置TNS,当然在少数情况下,不用 ...
- [SQL Server]从 varchar 数据类型到 datetime 数据类型的转换产生一个超出范围的值。
见下图sql, 使用dateadd()转换时报如题错误, 原因是数据库表中存入的数据格式不正确, 数据格式不正确, 数据格式不正确, 重要的事情讲3遍!! ca.batch_no的前8位必须是日 ...
- linux shell 脚本攻略学习9--rename命令详解
rename命令详解: 对文件重命名是常用的操作之一,一般对单个文件的重命名用mv命令,如: amosli@amosli-pc:~/learn/example$ ls abc.txt amosli@a ...
- Selenium webdriver 获取属性值 元素里的value
1.WebElement webElemt= webElement.findElement(By.xpath("//*[@class='xxxxxx]/a")); //在ie下使用 ...