首先说一下我的需求:
表A结构中有一个列是AAA,这是一个varchar2类型列。现在要把表A中的
所有记录中的AAA里面的[cr],[lf]换行符全部替换成[crlf],另外这个AAA中有
[cr],[lf],[crlf]三种混在的情况。我现在的做法如下
Cursor cur_aaa is
Select * from A
Where A.AAA like ‘%’ || chr(10) || ‘%’
Or A.AAA like ‘%’ || chr(13) || ‘%’
然后遍历这个游标去更新,用replace替换。
这样是可以替换所有的cr和lf。但是如果AAA中只有[crlf]的话也被替换了,
现在请教各位能否有办法不把AAA中全是[crlf]作为替换对象。求高手指教。
Oracle
表A结构中有一个列是AAA,这是一个varchar2类型列。现在要把表A中的
所有记录中的AAA里面的[cr],[lf]换行符全部替换成[crlf],另外这个AAA中有
[cr],[lf],[crlf]三种混在的情况。我现在的做法如下
Cursor cur_aaa is
Select * from A
Where A.AAA like ‘%’ || chr(10) || ‘%’
Or A.AAA like ‘%’ || chr(13) || ‘%’
然后遍历这个游标去更新,用replace替换。
这样是可以替换所有的cr和lf。但是如果AAA中只有[crlf]的话也被替换了,
现在请教各位能否有办法不把AAA中全是[crlf]作为替换对象。求高手指教。
Oracle
AAA是列名,每条记录中的AAA都有换行符
[cr]回车
[lf]换行
[crlf]回车换行
得到的结果是??
[crlf]回车换行
[crlf]回车换行
那得到的结果是什么?
我想要的结果是把所有的cr和lf换行符全部替换成crlf,另外如果替换之前就都是crlf了那么就不替换了。
我就是想要这样的结果
Where A.AAA like ‘%’ || chr(10) || ‘%’
Or A.AAA like ‘%’ || chr(13) || ‘%’
minus
Select * from A
Where A.AAA like ‘%’ || chr(10)chr(13) || ‘%’
楼主可以使用这个试试,这个应该会查出所有的cr和lf 但是不包含crlf
二 执行你的操作
三 把'*'替换为[crlf]