网站首页  |   业界社区  |  电信社区  |  技术社区   |  极客社区  |  游戏社区  |  生活社区   |   科技博客  |   同事录
TechWeb-技术社区


bika
TW金牌会员
Rank: 6Rank: 6



UID 138192
精华 27
积分 1720
帖子 941
阅读权限 70
注册 2008-7-23
状态 离线
发表于 2008-8-26 08:59 资料 短消息 加为好友 添加 bika 为MSN好友 通过MSN和 bika 交谈
处理Oracle中的不可见字符

今天遇到一则案例,问题是数据库中看来完全相同的字段却存在长度差异。
$H!`'m&V7W&I.b9{TechWeb-技术社区  通过lengthb以及dump,我们可以知道问题所在:
7Q$R/F/y&o$a$`,H
      SQL> select trim(log.sname),dump(log.sname),lengthb(log.sname) %K-L4K8p*g
  2 from st.LIMPORT_LOG log 9M+P(m0~+^&X.J.i
  3 where log.dfee > date '2008-06-22'
7p,r5n!}8y%C)Etech.techweb.com.cn  4 and log.dfee < date '2008-06-23'
,y7w(f#J(O-G:P1K  5 and log.sspname like '263%' 5W2p([.?9]1a*E-{8@+c
  6 group by log.sname,dump(log.sname); 7G/h0C!p+]1D3_1?)s
  TRIM(LOG.SNAME) DUMP(LOG.SNAME) LENGTHB(LOG.SNAME) tech.techweb.com.cn"[$F"[0j9{*{
  ------------------- ----------- ---------------------------------------------- 8Y&Z-T&Y2f
  263网络通信 Typ=1 Len=15: 50,54,51,205,248,194,231,205,168,208,197,0,0,0,0 15
*o"U-B1f$_9E'V'i)Mtech.techweb.com.cn  263网络通信 Typ=1 Len=11: 50,54,51,205,248,194,231,205,168,208,197 11

*{+R9X5[0Z Y'S6Ztech.techweb.com.cn  使用DUMP函数我们发现,在有问题的数据中,数据末尾存在几个字符0,0,0,0,也就是多出了几个字符。程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛#y'X;s,p#M1K5\-y4d1P
  正是这多出的几个字符导致了存储异常。tech.techweb.com.cn3t,} |4G#U7g3U
  那么这个0代表什么字符呢?在ASCII编码表里我们可以看到这对应了一个不可见字符,这是数据入库时的异常导致的:/b-S+j4j/^%r#M

  -The End-

引用 回复 顶部
游客
该用户匿名发帖









发表于 2008-9-2 16:08
图看不见。楼主。。。。

引用 回复 顶部
查看积分策略说明快速回复主题
选项 标题 Smilies
禁用 URL 识别
禁用 Smilies
禁用 Discuz!代码
使用匿名发帖
使用个人签名
接收新回复邮件通知
内容





当前时区 GMT+8, 现在时间是 2008-11-23 07:38
京ICP证060517号

本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.5.0 © 2001-2008 Comsenz Inc.
Processed in 0.063195 second(s), 8 queries

清除 Cookies - 联系我们 - TechWeb.com.cn - Archiver - WAP