ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 表字段中回车换行符的处理

表字段中回车换行符的处理

原创 Linux操作系统 作者:gvora 时间:2009-05-08 12:57:52 0 删除 编辑

今天遇到一个问题,在设计表结构的时候打算在某一个字段中存储了以';'进行分割的字符串,类似于这种形式:2312432;56544;32346;9878675;380547321。我们要求在数据展现的时候按照';'来把每一个子字符串展现成如下形式:                                                                                                                                         

2312432
56544
32346
9878675
380547321

记得Oracle里有回车换行:chr(10)--------回车                 chr(13)--------换行

本来打算这样做:在进行sql语句查询的时候,使用instr和substr函数来将字符串分割成子字符串,然后把子字符串通过回车换行符号连接起来。不过这样实现起来比较麻烦,因为子字符串太多,不好分割。

后来尝试了一下将回车换行符加入到insert语句中,发现是可行的,这样在设计字段的时候可以加入回车换行符,从而避免了字段二次处理的麻烦。

插入带有回车换行符的内容:

SQL> create table t(abc varchar2(100));

表已创建。

SQL> insert into t(abc) values('abcdef'||chr(10)||chr(13)||'hjkml');

已创建 1 行。

SQL> select * from t;

ABC
--------------------------------------------------------------------------------

abcdef
hjkml

查询字段中带有回车换行符的数据:

SQL> select * from t where instr(abc,chr(10)||chr(13))>0;

ABC
--------------------------------------------------------------------------------

abcdef
hjkml

去掉字段中的回车换行符:

SQL> update t set abc=replace(abc,chr(10)||chr(13),'')
  2  where instr(abc,chr(10)||chr(13))>0
  3  ;

已更新 1 行。

SQL> select * from t;

ABC
--------------------------------------------------------------------------------

abcdefhjkml

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15203236/viewspace-594522/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-12-30

  • 博文量
    62
  • 访问量
    288186