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

oracle中dump函数

问题:
1. oracle中number,char/varchar,date等数据类型是怎么存储的?字节流是什么样的?
2. 各种数据类型占用的字节长度是多大?
SELECT dump(1), DUMP(123456), DUMP(-123456), DUMP(1234567890123456) -- 整数
--SELECT DUMP(123456.789), DUMP(-123456.789), dump(1.234567890123456789E15), dump(123456789012345678901234567890123456789) -- 浮点数
SELECT DUMP('a'), DUMP('abcdefghijklmn'), DUMP(CAST('abc' AS CHAR(20))), DUMP(CAST('abc你' AS VARCHAR(20)))
--SELECT sysdate, DUMP(SYSDATE)
from dual;
结论:
1. number类型的字节流是不定长的,并且正负数会用不同的标志位(正数:数字1 >= 193,负数:数字1 <= 62,差额恰好是指数大小)
2. char是定长的,长度不足最大长度会填充尾空格,varchar是不定长的(即给多长存多长)
3. date类型定长,占8个字节
-- 附录为常见数据类型的存储方式说明,可参见oracle官方文档,或各种技术blog
http://blog.oracle.com.cn/index.php/12012/action_viewspace_itemid_4684.html(附录的来源)
http://zhouwf0726.itpub.net/post/9689/196733
笔者在做实验过程(oracle9i2版本)中,发现实际Date类型与附录中的不一样,估计附录中是对oracle8以前版本的说明。
Date(长度 7 类型 12)
col dump_date form a35col real_date form a35
select dump(last_ddl_time) dump_date, to_char(last_ddl_time,'yyyy-mm-dd hh24:mi:ss') real_date
from user_objects
where rownum=1;
DUMP_DATE                           REAL_DATE
----------------------------------- ---------------------
Typ=12 Len=7: 120,102,4,13,16,48,53 2002-04-13 15:47:52世纪 120 - 100 = 20 世纪和年份加100后存储
年份 102 - 100 = 2
月份 4 月份和日期按原值存储
日期 13
小时 16 - 1 = 15 时间均加1后存储
分钟 48 - 1 = 47
秒 53 - 1 = 52
--------------------------------------------------------------------------------
Number(类型 2)
<[长度]>,符号位/指数 数字1,数字2,数字3,......,数字20
正数:指数=数字1 - 193 (最高位为1是代表正数)
负数:指数=62 - 第一字节
数字1是最高有效位
正数:加1存储
负数:被


相关文档:

详解Oracle用户解锁命令的两则实现方法


在安装完Oracle 10g之后,想打开sql*plus来学习,然后按照书上的步骤用scott用户来连接数据库,可输了好几次都提示一个错误。
error: the account is locked
然后上网查了一下之后发现这个用户被锁定了,至于它为什么被锁定,可能是下面几个原因。
1.尝试多次登录未成功.(可能密码不正确)
2.此用户被管理员手工锁定. ......

oracle PL/SQL 中常量和变量的声明

 
一、常用数据类型:
Number:数字类型
Int:整数型
Pls_integer:整数型,产生溢出的错误
Binary_integer:整数型
Char:定长字符,最长255个字符
Varchar2:变长字符,最长2000个字符
Long:变长字符,最长2GB
Date:日期型
Boolean:布尔型
二、定义常量
格式:常量名   constant &nbs ......

传智播客java学习 Oracle 数据库的配置及管理

我今天学习了Oracle 数据库的配置及管理:
1           Oracle 数据库体系结构简介
1.1          平常所说的 Oracle 或 Oracle 数据库指的是 Oracle 数据库管理系统. Oracle 数据库管理系统是管理数据库访问的计算机软� ......

Oracle修改SYS密码

Oracle提供两种验证方式,一种是OS验证,另一种密码文件验证方式,如果是第一种方式用以下方法修改密码:
  sqlplus / as sysdba
  alter user sys identified by 新密码;
  alter user system identified by 新密码;
  如果是第二种方法用以下方法修改密码:
  orapwd file=pwdxxx.ora password=你设定的� ......

Oracle 10g 要点整理 之 管理文件

管理文件
1 管理控制文件
(1)概述
① 控制文件是Oracle数据库最重要的物理文件。
② 每个Oracle数据库都必须有一个控制文件。
③ 在装载(mount)数据库时,Oracle会根据初始化参数定位控制文件。
④ 在启动例程时,Oracle会根据控制文件在例程和数据库之间建立关联。
⑤ 打开数据库时,Oracle会根据控制文件所记� ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号