ORACLE数据中的其它字符问题

Char(32)和Char(10)

在比对数据时发现去重后仍有相同的数据,

利用select t.列名,dump(t.列名)from t得到的结果比对

Typ=1 Len=37: 82,80,68,95,79,87,78,69,82,46,84,77,80,95,73,78,67,78,84,86,95,68,85,80,76,73,67,65,84,69,68,95,70,76,65,71,32
Typ=1 Len=37: 82,80,68,95,79,87,78,69,82,46,84,77,80,95,73,78,67,78,84,86,95,68,85,80,76,73,67,65,84,69,68,95,70,76,65,71,10

发现末尾分别是32和10,即Char(“32”) 空格 SPACE 和Char(“10”) 换行,
可以使用replace与trim替换

trim(replace(列名,chr(10),''))

Char(32)和Char(194),Char(160)

select dump(‘X XX’) from dual
union all
select dump(‘X XX’) from dual

可以发现

Typ=96 Len=29: ...,144,194,160,32,72,...
Typ=96 Len=28: ..,144,32,32,72,..

上方的数据与下方的数据相比 多出了194,160
由于上方文件的数据是直接从utf-8的文件中copy出来的,
将文件转码成ANSI,可以看到文件数据中的第一个空格变为?,
将?替换成空格即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值