`

DUMP用法

阅读更多
一 DUMP():查看表中列在datafile中的存储内容,它將返回一個包含expr內部表示信息的varchar2值 。
DUMP函数的输出格式类似:

类型 <[长度]>,符号/指数位 [数字1,数字2,数字3,......,数字20]
DUMP(expr[,number_format[,start_position][,length]]) 
各位的含义如下:

1.类型: Number型,Type=2 (类型代码可以从Oracle的文档上查到)
Date(长度 7 类型 12)
2.长度:指存储的字节数
3.符号/指数位
在存储上,Oracle对正数和负数分别进行存储转换:
正数:加1存储(为了避免Null)
负数:被101减,如果总长度小于21个字节,最后加一个102(是为了排序的需要)

指数位换算:

正数:指数=符号/指数位 - 193 (最高位为1是代表正数)
负数:指数=62 - 第一字节
4.从<数字1>开始是有效的数据位

从<数字1>开始是最高有效位,所存储的数值计算方法为:

将下面计算的结果加起来:

每个<数字位>乘以100^(指数-N) (N是有效位数的顺序位,第一个有效位的N=0)

1. number类型的字节流是不定长的,并且正负数会用不同的标志位(正数:数字1 >= 193,负数:数字1 <= 62,差额恰好是指数大小)
2. char是定长的,长度不足最大长度会填充尾空格,varchar是不定长的(即给多长存多长)
3. date类型定长,占8个字节
NUMBER
SQL> select dump(123456.789) from dual;
 
DUMP(123456.789)
-------------------------------
Typ=2 Len=6: 195,13,35,57,79,91
<指数>:    195 - 193 = 2
<数字1>     13 - 1     = 12 *100^(2-0) 120000
<数字2>     35 - 1     = 34 *100^(2-1) 3400
<数字3>     57 - 1     = 56 *100^(2-2) 56
<数字4>     79 - 1     = 78 *100^(2-3) .78
<数字5>     91 - 1     = 90 *100^(2-4) .009
                             123456.789

SQL> select dump(-123456.789) from dual;
DUMP(-123456.789)
----------------------------------
Typ=2 Len=7: 60,89,67,45,23,11,102 


<指数>      62 - 60 = 2(最高位是0,代表为负数)
<数字1> 101 - 89 = 12 *100^(2-0) 120000
<数字2> 101 - 67 = 34 *100^(2-1) 3400
<数字3> 101 - 45 = 56 *100^(2-2) 56
<数字4> 101 - 23 = 78 *100^(2-3) .78
<数字5> 101 - 11 = 90 *100^(2-4) .009
                               123456.789(-)
------------------------------------------------------------
Date(长度 7 类型 12)

SQL> 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,108,12,24,18,26,29                                             2008-12-24 17:25:28
世纪 120 - 100 = 20 世纪和年份加100后存储
年份 108 - 100 = 8
月份 12 月份和日期按原值存储
日期 24
小时 18 - 1 = 17 时间均加1后存储
分钟 26 - 1 = 25
秒 29 - 1 = 28
分享到:
评论

相关推荐

    dump文件查看器使用方法

    dump文件查看器使用方法,分析蓝屏原因

    Trace 32分析ramdump方法

    TRACE32作为一种真正集成化、通用性系统仿真器可以组合成多种方案,可以支持网络方案、实验室单机方案、异地光纤方案等,它具有全模块化、积木式结构、可支持JTAG及BDM接口...同时使用该工具可以方便的分析ramdump信息

    hexdump Python2版本

    使用方法: import hexdump print hexdump.hexdump('hello,world') 输出效果: 00000000: 68 65 6C 6C 6F 2C 77 6F 72 6C 64 0A | hello,world. 如果输出里面多行的数据完全一致,会自动隐藏重复的部分 也可作为...

    native_heapdump_viewer.py

    使用方法如下: 1.打开Android调试开关(需要userdebug版本) setenforce 0 setprop libc.debug.malloc 1 setprop libc.debug.malloc.options backtrace stop;start 2.获取进程pdi ps -ef | grep "app or service" 3....

    parallel-fastq-dump:并行fastq-dump包装器

    提示使用fastq-dump下载很慢,即使有多个线程,也建议在使用fastq-dump之前使用prefetch来下载目标fastq-dump文件,这样fastq-dump将只需要进行转储。 所有其他参数将直接传递给fastq-dump ,-- --gzip ,-- --split...

    heapdump分析工具HeapAnalyzer

    heapdump分析工具------HeapAnalyzer: 2014年1月最新发布 用法: 在命令行执行 java -Xmx500m -jar ha453.jar

    MTK Dump 解析工具

    但有时候,遇到设备无法开机的情况,或者需要将设备中的分区内容与刷机镜像进行比对等情况,就需要使用工具将设备中的分区内容dump出来了。在以前写的一篇博文《OTA升级失败排查》和《rkflashkit的安装与使用》中有...

    etcd-dump:命令行实用程序,用于dumprestoring etcd

    用法 倾销: $ etcd-dump dump // outputs an etcd_dump.json 恢复中: $ etcd-dump restore Restored successfuly // Reads in the etcd_dump.json and restores it ' s values to the DB 帮助 : $ etcd-dump ...

    IBM java coredump(threaddump) analyzer

    IBM最新java threaddump 分析工具 java -jar jca.jar -Xmx1024m jca.jar

    mat java 分析 文件 dump

    mat 工具 使用 方法 讲解 java dump 文件 分析

    IBM dump分析工具 heapanalyzer

    请注意,此jar包为jdk1.7下编译的,1.6以下的jre无法正常运行。 用法:java -jar -Xmx3000m "%~dp0/ha456.jar" heapdump.bin ,heapdump.bin为dump文件名,可参考heapanalyzer.bat

    linux-ramdump-parser-v2.tar.gz

    在高通的sxr2130平台,android10上,试验成功,使用方法: 1. 解压 2. 到linux-ramdump-parser-v2下 3. sudo ./ramdump-parser.sh Port_COM4 // Port_COM4中包含ramdump对应的vmlinux 4. 会生成out目录,在使用中,...

    IBM Thread and Monitor Dump Analyzer for Java (jca) 线程分析工具 jca45

    IBM Thread and Monitor Dump Analyzer for Java(简称 jca)。它可以识别Java线程中的挂起,死锁,资源竞争,和瓶颈。 使用方法: java -Xmx1000m -jar jca456.jar

    Visualvm插件TDA(thread dump分析)

    https://java.net/projects/tda/downloads/directory/visualvm 官方下载的,附带使用方法,Visualvm的TDA插件,能很好的分析线程Dump日志,吐血推荐!

    rtmpdump-2.3

    在linux環境下編譯後可以播放rtmp影片的程式碼

    Linux dump命令用法详解

    Linux dump命令 Linux dump命令用于备份文件系统。 dump为备份工具程序,可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。 语法 dump [-cnu][-0123456789][-b ][-B ][-d ][-f ][-h ][-s ][-T ][目录...

    class-dump-3.3.3.dmg

    具体用法: class-dump -H Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.1.sdk/System/Library/CoreServices/SpringBoard.app/SpringBoard -o ~/Desktop/SpringBoard

    weak_classdump, Cycript实时classdump加密二进制文件的替代方案.zip

    weak_classdump, Cycript实时classdump加密二进制文件的替代方案 weak_classdump生成传递给函数的类的头文件的Cycript脚本。当你不能 classdump,当二进制文件被...用法示例:root# cycript -p Skype weak_classdump.

    class-dump:从Mach-O文件生成Objective-C标头

    这是使用'otool -ov'提供的相同信息,但以普通的Objective-C声明形式提供。 最新版本和信息可在以下位置获得: http://stevenygard.com/projects/class-dump 也可以从我的Github存储库中找到源代码: ...

    class-dump3.5

    用于获取iOS 私有api,此版本目前可用,使用方法参考我博客

Global site tag (gtag.js) - Google Analytics