在oracle里如何去掉数据后的回车换行符

如题所述

1、创建测试表,

create table test_huiche(id varchar2(20), value varchar2(20));

2、插入测试数据,部分值含回车换行符;

insert into test_huiche values(1, 'ab

c');

insert into test_huiche values(2,'ed');

insert into test_huiche values(3,'ffg');

insert into test_huiche values(4,'hj

k');

commit;

3、查询表中全量数据,可以发现部分值含回车换行符;select t.*, rowid from test_huiche t;

4、编写语句,去掉数据后的回车换行符;

   select t.id, replace(replace(t.value,chr(9),''),chr(10),'') as value from test_huiche t;

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-25
chr(10)回车
chr(13)换行
如果记得不错的话。
如果你想替换数据中所有回车和换行可以用
replace(column,chr(10))
replace(replace(column,chr(10)),chr(13))
或者利用translate函数。

如果只是替换末尾的回车换行用rtrim
rtrim(column,chr(10)) --有些系统回车换行就是一个chr(10)
rtrim(column,chr(10),chr(13))或者4次。--有些系统尤其是旧时候的工具开发的系统会同时存在chr(10)和chr(13)。酌情处理吧。本回答被提问者和网友采纳
第2个回答  2014-12-01
使用replace的函数,把其替换为空即可

trim只能去空格吧
第3个回答  2014-12-01
你用trim函数好了
相似回答