oracle中如何对字符串进行去除空格的方法
今天学习了一下oracle中如何对字符串进行去除空格的方法,这里总结一下。了解到的方法主要有两种:Trim函数以及Replace函数。下面我详细的介绍一下,这两种用法,不足的地方还望各位朋友补充。
首先便是这Trim函数。Trim 函数具有删除任意指定字符的功能,而去除字符串首尾空格则是trim函数被使用频率最高的一种。语法Trim ( string ) ,参数string:string类型,指定要删除首部和尾部空格的字符串返回值String。函数执行成功时返回删除了string字符串首部和尾部空格的字符串,发生错误时返回空字符串("")。 如果参数值为null时,会抛出空指针异常。在oracle中,trim使用的形式多为人rtrim()与ltrim()两种,分别为去除字符串右边空格与去除字符串左边空格。
当然trim的功能不止如此,下面进行细致的介绍,这里我多以去除字符串空格为例。
我们看下trim函数的语法描述:trim( [ { {leading|trailing|both} [trim_character]|trim_character} from] trim_source
1)、不使用任何参数
SQL> select trim(' 11 ') aa from dual;
AA
--
11
这是最常见的一种使用方法,都使用默认的参数,默认情况下TRIM会同时删除字符串前后出现的空格。
2)、使用both参数,效果等同于方法一不使用任何参数
SQL> select trim(both from ' 11 ') aa from dual;
AA
--
11
“BOTH”参数表示同时去除字符串前后所指定的内容(默认情况下删除空格)。
3)、使用leading与trailing参数
SQL> select trim(leading from ' 11 ') aa from dual;
AA
----
11
SQL> select trim(trailing from ' 11 ') aa from dual;
AA
-----
11
从结果中得分隔符'-',可以发现使用leading参数可以去除字符串右端的空格,而trailing参数则可以去除字符串左端的空格。正如oracle提供的rtrim()与ltrim()。
4)、使用trim_character参数
trim_character参数改变了“删除空格”的默认行为。如果想要删除字符串'xxxxWORLDxxxx'前后出现的“x”,“trim_character”参数就派上用场了。
SQL> select trim('x' from 'xxxxWORLDxxxx') aaaaa from dual;
AAAAA
-----
WORLD
trim_character配合“both”、“trailing”和“leading”三个参数使用效果如下,与之前演示类似。看结果,不赘述。
SQL> select trim('x' from 'xxxxWORLDxxxx') aaaaa from dual;
AAAAA
-----
WORLD
SQL> select trim(both 'x' from 'xxxxWORLDxxxx') aaaaa from dual;
AAAAA
-----
WORLD
SQL> select trim(trailing 'x' from 'xxxxWORLDxxxx') aaaaa from dual;
AAAAA
---------
xxxxWORLD
SQL> select trim(leading 'x' from 'xxxxWORLDxxxx') aaaaa from dual;
AAAAA
---------
WORLDxxxx
必须注意的一点是这里的“trim_character”参数只允许包含一个字符,不支持多字符。trim不能满足我们去除多字符要求,但是我们可以使用rtrim和ltrim来处理。
1)使用rtrim
SQL> select rtrim('ORxxxxWORLDxxxxOR','OR') aaaaa from dual;
AAAAA
---------------
ORxxxxWORLDxxxx
2)使用ltrim
SQL> select ltrim('ORxxxxWORLDxxxxOR','OR') aaaaa from dual;
AAAAA
---------------
xxxxWORLDxxxxOR
3)联合使用RTRIM和LTRIM函数达到我们的目的
SQL> select rtrim(ltrim('ORxxxxWORLDxxxxOR','OR'),'OR') aaaaa from dual;
AAAAA
-------------
xxxxWORLDxxxx
使用rtrim和ltrim函数时的注意事项:“OR”不表示整个“OR”字符串进行匹配,而是发现任意的字符“O”或字符“R”均做删除操作。
对于trim函数的应用就介绍到,下面介绍一下replace函数,个人觉得replace函数在去空格时更好用。replace 函数用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式。
来看下replace函数的语法描述:replace('string_replace1','string_replace2','string_replace3')
'string_replace1' 待搜索的字符串表达式,string_replace1 可以是字符数据或二进制数据。
'string_replace2' 待查找的字符串表达式,string_replace2 可以是字符数据或二进制数据。
'string_replace3' 替换用的字符串表达式,string_replace3 可以是字符数据或二进制数据。
返回类型,如果 string_replace(1、2 或 3)是支持的字符数据类型之一,则返回字符数据;如果 string_replace(1、2 或 3)是支持的 binary 数据类型之一,则返回二进制数据。
这里我们依然以去空格为例。
SQL> select replace(' aa kk ',' ','') abcd from dual;
ABCD
----
aakk
与使用trim函数的结果进行对比,我们可以发现,使用replace函数不仅可以去除字符串两端的空格,也可去除字符串内部的空格。
当然,如果只是要去除字符串两端的空格,使用trim函数效率会更高。

select replace(foldname,' ','') as foldname from XIANGGANGTEST.T_BROKER_HKTEST
foldname是字段名字


oracle中如何对字符串进行去除空格的方法的更多相关文章
- Python中常见字符串去除空格的方法总结
Python中常见字符串去除空格的方法总结 1:strip()方法,去除字符串开头或者结尾的空格>>> a = " a b c ">>> a.s ...
- Oracle中如何判断字符串是否全为数字
Oracle中如何判断字符串是否全为数字 学习了:http://www.cnblogs.com/zrcoffee/archive/2012/12/11/2812744.html 本文介绍了判断字符串是 ...
- python 中去除空格的方法
python 中去除空格的方法: def trim(s): l=[] for i in s: if i!=' ': l.append(i) return ''.join(l) 其中可以使用下面的 '' ...
- Python中去除字符串中的单个或多个空格的方法总结
python中去除字符串中空格的方法比较多,单个看起来也都比较简单 但是使用起来容易发生混淆 为了加深记忆 将常用的去除字符串中空格的方法汇总如下 方法一:strip()方法 >>> ...
- js中对字符串(String)去除空格
str为要去除空格的字符串: 去除所有空格: str = str.replace(/\s+/g,""); 去除两头空格: str = str.replace(/^\s+|\s+$/ ...
- Oracle中REGEXP_SUBSTR函数(字符串转多行)
Oracle中REGEXP_SUBSTR函数 Oracle中REGEXP_SUBSTR函数的使用说明: 题目如下: 在oracle中,使用一条语句实现将'17,20,23'拆分成'17','20',' ...
- php 随笔 截取字符串 跳出循环 去除空格 修改上传文件大小限制
substr(string,start,length) echo substr("Hello world",6); world 跳出循环 for($i=1; $i<5; $i ...
- Oracle中删除用户下所有对象的多种方法
Oracle删除用户下所有对象的方法未必人人都会,下面就为您介绍两种常用的Oracle删除用户下所有对象的方法,希望对您学习Oracle删除用户方面能有所帮助. 方法1: drop user XX ...
- Python中判断输入字符串是否为数字的方法
在写物理实验图像处理的脚本时,遇到了一个判断输入的字符串是否为数字的方法 最开始我的思路是这个 test = input() while test.isdigit(): # do something ...
随机推荐
- 标准库errno.h 查看错误代码编号,errno:4 与error:2
log 里报错,errno:4 与errno:2 查了一下 errno.h --------下文来自百度百科 errno 编辑 errno 是记录系统的最后一次错误代码.代码是一个int型的值 ...
- linux的设置ip连接crt,修改主机名,映射,建文件
1.修改IP(或者vim vi /etc/sysconfig/network-scripts/ifcfg-eth0) 2.连接 crt 3.修改主机名 用vim 编辑 /etc/sysconfig/n ...
- centOS 下 VSFTP的安装和设置
http://blog.csdn.net/swiftshow/article/details/7367609 一.FTP的安装 1.检测是否安装了FTP :[root@localhost ~]# rp ...
- subverison的安装与注意事项
1.安装 :官网下载 http://blog.csdn.net/sinboy/article/details/4000524 http://sourceforge.net/projects/win32 ...
- 用firebug给firefox添加信任链接
在前文“firefox查看微信公众平台的数据分析时就出现不信任链接怎么办?”我们使用了导入证书的方法添加信任链接,有网友反映说证书导入不成功,这里用另外一种方法来实现:用firebug给firefox ...
- cocos基础教程(10)纹理缓存技术
Cocos2d通过调用CCTextureCache或者CCSpriteFrameCache来缓存精灵的纹理. 当这个精灵调用CCTextureCache 或 CCSpriteFrameCache的方法 ...
- Android如何在java代码中设置margin
习惯了直接在xml里设置margin(距离上下左右都是10dip),如: <ImageView android:layout_margin="10dip" android:s ...
- php substr中文乱码最有效到解决办法 转:http://blog.sina.com.cn/s/blog_49b531af0100esah.html
(2009-07-29 12:29:38) 转载▼ 标签: php substr文乱码 网站开发 it 直接使用PHP函数substr截取中文字符可能会出现乱码,主要是substr可能硬生生的将一 ...
- 删除右键ATI CATALYST(R) Control Center的方法
http://share.weiyun.com/c47530d3e44ea15b606d4ba6f1b00a28
- STL库函数 持续更新
*容器 (1)顺序容器 vector[顺序表直接访问] depue[前后直接访问] list[双向链表] vector 检索(用operator[ ])速度快 .push_back 在数组的最后添加一 ...