易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle中的不可见字符

今天做统计的时候发现一个数据表面上看来是‘920 ’但去空格无乱如何都去不掉,最后发现是不可见字符。。。
于是在网上搜到一篇文章,如何来判断这个不可见字符的问题~
按下面的方法判断出不可见字符的ascII码是10,于是用rtrim('原字符','chr(10)')来去掉这个不可见字符。
今天遇到一则案例,问题是数据库中看来完全相同的字段却存在长度差异。
  通过lengthb以及dump,我们可以知道问题所在:
      SQL> select trim(log.sname),dump(log.sname),lengthb(log.sname) 
  2 from st.LIMPORT_LOG log 
  3 where log.dfee > date '2008-06-22' 
  4 and log.dfee < date '2008-06-23' 
  5 and log.sspname like '263%' 
  6 group by log.sname,dump(log.sname); 
  TRIM(LOG.SNAME) DUMP(LOG.SNAME) LENGTHB(LOG.SNAME) 
  ------------------- ----------- ---------------------------------------------- 
  263网络通信 Typ=1 Len=15: 50,54,51,205,248,194,231,205,168,208,197,0,0,0,0 15 
  263网络通信 Typ=1 Len=11: 50,54,51,205,248,194,231,205,168,208,197 11
  使用DUMP函数我们发现,在有问题的数据中,数据末尾存在几个字符0,0,0,0,也就是多出了几个字符。
  正是这多出的几个字符导致了存储异常。
  那么这个0代表什么字符呢?在ASCII编码表里我们可以看到这对应了一个不可见字符,这是数据入库时的异常导致的:
  -The End-


相关文档:

快速删除oracle重复记录


总结了一下删除重复记录的方法,以及每种方法的优缺点。
假设表名为Tbl,表中有三列col1,col2,col3,其中col1,col2是主键,并且,col1,col2上加了索引。
1、通过创建临时表
可以把数据先导入到一个临时表中,然后删除原表的数据,再把数据导回原表,SQL语句如下:
creat table tbl_tmp (select distinct* from tb ......

ORACLE 10 (付首昕)学习笔记 第2节 命令。

ORACLE 10 学习笔记-第2节-命令。
1. inner join / left join/ right join / full join
select a.dname, b.ename from dept a, emp b where a.deptno=b.deptno and a.deptno=10;
select a.dname, b.ename from dept a inner join emp b
on a.deptno=b.deptno and a.deptno=10;
select dname,ename from dept natural ......

Oracle的Package的作用以及使用什么工具编写

1、Oracle的Package除了把存储过程放到一堆儿以外还有没有其他的作用(好处)?
2、如何把现有的存储过程加入到Package中?
3、除了使用SQL Plus,还有没有什么工具做Package?
4、使用SQL Plus编译Package,是否每次都是编译Package中所有的存储过程?
1、你不觉得把存储过程分门别类是很重要的么,而且不同的package的 ......

oracle 常见的函数

1. ASCII
返回与指定的字符对应的十进制数;
SQL> select ascii(A) A,ascii(a) a,ascii(0) zero,ascii( ) space from dual;
A A ZERO SPACE
--------- --------- --------- ---------
65 97 48 32
2. CHR
给出整数,返回对应的字符;
SQL> select chr(54740) zhao,chr(65) chr65 from dual;
ZH C
-- ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号