易截截图软件、单文件、免安装、纯绿色、仅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 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高级技巧

1.在删除一个表中的全部数据时,须使用TRUNCATE TABLE 表名;因为用DROP TABLE,DELETE * from 表名时,TABLESPACE表空间该表的占用空间并未释放,反复几次DROP,DELETE操作后,该TABLESPACE上百兆的空间就被耗光了。
  
  2.having 子句的用法
  
  having 子句对 group by 子句所确定的行组进行控制,having 子 ......

带你轻松接触Oracle执行计划的相关概念

Oracle执行计划的相关概念:
rowid:系统给oracle数据的每行附加的一个伪列,包含数据表名称,数据库id,存储数据库id以及一个流水号等信息,rowid在行的生命周期内唯一。
recursive sql:为了执行用户语句,系统附加执行的额外操作语句,譬如对数据字典的维护等。
row source(行源):oracle执行步骤过程中,由上一 ......

oracle中type

oracle中自定义数据类型
oracle中有基本的数据类型,如number,varchar2,date,numeric,float....但有时候我们需要特殊的格式,如将name定义为
(firstname,lastname)的形式,我们想把这个作为一个表的一列看待,这时候就不要我们自己定义一个数据类型
create or replace type type_name as object(firstname varchar ......

北大青鸟oracle学习笔记18

异常
预定义异常
oracle为常见错误预定义
在DBMS_STANDARD程序包中提供了这些定义
不需要显示声明
declare
  sex student.stu_sex%type;
begin
  select stu_sex into sex from student;
  dbms_output.put_line('sex:'||sex);
exception
&nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号