转载

Oracle字符串中前后包含空格处理方法

一、问题描述
     今天碰到个问题,有个列中的字段前后都有不同数量的空格,开发人员要求去掉这些空格。其实ORACLE早就替我们准备好trim函数来处理这样的问题。让我们实验一下,学习记住trim这个小东东。

二、实验
1.创建测试数据

点击(此处)折叠或打开

  1. SAM@OCM11G >create table test_space(id int,name varchar2(10));

  2. Table created.

  3. SAM@OCM11G >insert into test_space values (1,'sam');

  4. 1 row created.

  5. SAM@OCM11G >insert into test_space values (2,' sam ');

  6. 1 row created.

  7. SAM@OCM11G >insert into test_space values (3,' sam ');

  8. 1 row created.

  9. SAM@OCM11G >commit;

  10. Commit complete.

2.查询数据发现问题,并做字符统计

点击(此处)折叠或打开

  1. SAM@OCM11G >select * from test_space;

  2.         ID NAME
  3. ---------- ----------
  4.          1 sam
  5.          2 sam
  6.          3 sam

  7. SAM@OCM11G >select id,length(name) from test_space;

  8.         ID LENGTH(NAME)
  9. ---------- ------------
  10.          1 3
  11.          2 5
  12.          3 8

3.使用trim去掉空格

点击(此处)折叠或打开

  1. SAM@OCM11G >select id,length(trim(name)) from test_space;

  2.         ID LENGTH(TRIM(NAME))
  3. ---------- ------------------
  4.          1 3
  5.          2 3
  6.          3 3

  7. SAM@OCM11G >update test_space set name=trim(name);

  8. 3 rows updated.

  9. SAM@OCM11G >select * from test_space;

  10.         ID NAME
  11. ---------- ----------
  12.          1 sam
  13.          2 sam
  14.          3 sam

4.检查(问题已处理)

点击(此处)折叠或打开

  1. SAM@OCM11G >select id,length(name) from test_space;

  2.         ID LENGTH(NAME)
  3. ---------- ------------
  4.          1 3
  5.          2 3
  6.          3 3

三、总结
    一个小小的trim函数,真是难者不会,会者不难。通过这个小案例,我又多掌握了ORACLE的一个小功能,学习脚步不能停。好久没有发文了,再给自己一针强心剂。加油 Sam!Where there is a will, there is a way.

正文到此结束
Loading...