共计 1244 个字符,预计需要花费 4 分钟才能阅读完成。
一、问题描述
今天碰到个问题,有个列中的字段前后都有不同数量的空格,开发人员要求去掉这些空格。其实 Oracle 早就替我们准备好 trim 函数来处理这样的问题。让我们实验一下,学习记住 trim 这个小东东。
二、实验
1. 创建测试数据
SAM@OCM11G >create table test_space(id int,name varchar2(10));
Table created.
SAM@OCM11G >insert into test_space values (1,’sam’);
1 row created.
SAM@OCM11G >insert into test_space values (2,’ sam ‘);
1 row created.
SAM@OCM11G >insert into test_space values (3,’ sam ‘);
1 row created.
SAM@OCM11G >commit;
Commit complete.
2. 查询数据发现问题,并做字符统计
SAM@OCM11G >select * from test_space;
ID NAME
———- ———-
1 sam
2 sam
3 sam
SAM@OCM11G >select id,length(name) from test_space;
ID LENGTH(NAME)
———- ————
1 3
2 5
3 8
3. 使用 trim 去掉空格
SAM@OCM11G >select id,length(trim(name)) from test_space;
ID LENGTH(TRIM(NAME))
———- ——————
1 3
2 3
3 3
SAM@OCM11G >update test_space set name=trim(name);
3 rows updated.
SAM@OCM11G >select * from test_space;
ID NAME
———- ———-
1 sam
2 sam
3 sam
4. 检查(问题已处理)
SAM@OCM11G >select id,length(name) from test_space;
ID LENGTH(NAME)
———- ————
1 3
2 3
3 3
三、总结
一个小小的 trim 函数,真是难者不会,会者不难。通过这个小案例,我又多掌握了 ORACLE 的一个小功能,学习脚步不能停。好久没有发文了,再给自己一针强心剂。加油 Sam!Where there is a will, there is a way.
更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-11/137684.htm