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

今天遇到一个问题,在设计表结构的时候打算在某一个字段中存储了以';'进行分割的字符串,类似于这种形式: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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15203236/viewspace-594522/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值