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,可以看到文件数据中的第一个空格变为?,
将?替换成空格即可。