Oracle语句有部分不显示,oracle中的不可见字符

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 

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节-命令。

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 ......

PL/SQL

块结构

DECLARE

声明部分

BEGIN

可执行部分

EXCEPTION

异常处理部分

END;

例:

首先我们看一个简单之例子,下面这个例子是统计从1 ......

按表方式的导出,导入

exp SYSTEM/SYSTEM@SBJSDB00 TABLES=KOKAN90.MASTER_SEND_LIMIT LOG=C:\A.LOG

IMP SYSTEM/SYSTEM@SBJSDB00 IGNORE=Y FULL=Y LOG=C:\B.LOG

之前用过很多语句都报错,得到的教训是 先执行exp SYSTEM/SYSTEM@SBJSDB00,按提示一步步输入成功过后,再把提示翻译成参数和参数值

关于参数说明用 exp hel ......

oracle里的extend的意思

扩展已知的数组空间,例:

DECLARE

TYPE CourseList IS TABLE OF VARCHAR2(10);

courses CourseList;

BEGIN

-- 初始化数组元素,大小为3

courses := CourseList( 'Biol 4412 ', 'Psyc 3112 ', 'Anth 3001 ');

-- 为数组增加一个元素,数组大小为4,末尾的元素为NULL

courses.EXTEN ......

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值