个人资料zhanjie的共享空间照片日志列表 工具 帮助

日志


7月24日

数据类型内部结构存储

SQL> create table wwm( thechar char(10),thevarchar varchar2(20),thenumber number(10,2));

Table created.

SQL> select * from wwm;

 

THECHAR    THEVARCHAR            THENUMBER

---------- -------------------- ----------

dsffg      varchar2                   10.2

wwm        wwmwwm2                   -999.2

charcharch charcharcharcharchar  100000000

  1* select thechar,dump(thechar) from wwm

SQL> /

THECHAR                                                                                             DUMP(THECHAR)

-----------------------------------------------------------

Dsffg                                                                            Typ=96 Len=10: 100,115,102,102,103,32,32,32,32,32

Wwm                                                                           Typ=96 Len=10: 119,119,109,32,32,32,32,32,32,32

Charcharch                                                                    Typ=96 Len=10: 99,104,97,114,99,104,97,114,99,104

可以看到THECHARCHAR Typ=96)类型的(NCHAR也是96),长度是10Len=10),不足长度的补空(32

SQL> select thevarchar,dump(thevarchar) from wwm;

THEVARCHAR                                                                          DUMP(THEVARCHAR)

--------------------------------------------------------------------------------------

varchar2                                                                                    Typ=1 Len=8: 118,97,114,99,104,97,114,50

wwmwwm2                                                                  Typ=1 Len=7: 119,119,109,119,119,109,50

charcharcharcharchar                                         Typ=1 Len=20: 99,104,97,114,99,104,97,114,99,104,97,114,99,104,97,114,99,104,97,114

可以看到THEVARCHARVARCHAR2 Typ=1)类型的,NVARCHAR2也是1

 

SQL> select thenumber,dump(thenumber) from wwm;

 THENUMBER                                                                           DUMP(THENUMBER)

-----------------------------------------------------

      10.2                                                                                                Typ=2 Len=3: 193,11,21

    -999.2                                                                                               Typ=2 Len=5: 61,92,2,81,102

 100000000                                                                                           Typ=2 Len=6: 196,100,100,100,100,100

可以看到thenumberNUMBER Typ=2)类型的(FLOAT也是2),

 

select dump(address,16) from v$sqlarea where rownum = 1;

DUMP(ADDRESS,16)

--------------------------------------------------------------------------------

Typ=23 Len=8: 7,0,0,0,47,c9,a4,98

RAW     Typ=23

 

  1* select thedate,dump(thedate) from wwm6

THEDATE                                                                     DUMP(THEDATE)

--------------------------------------------------------------------------------

05-JUN-06                                                                    Typ=12 Len=7: 120,106,6,5,17,16,11

DATE类型Typ=12

CENTURY120-100=20

Year:       106-100=06

Month=6

Day=5

Hours=17-1=16

Minutes=16-1=16

Seconds=11-1=10

 

SQL> select sysdate,dump(sysdate) from dual;

SYSDATE                                                                     DUMP(SYSDATE)

---------------------------------------------------------

07-6 -06                                                                    Typ=13 Len=8: 214,7,6,7,14,57,43,0

SYSDATETyp=13

 

排序,加减等操作就是根据DUMP的结果来排序的(会经过与或等运算,但基数不同,不在这里讨论),

 

这里只是列出了常用的类型,希望大家以后在读内部结构的时候发现Typ=XX时会想起这篇文章。谢谢

评论

请稍候...
很抱歉,您输入的评论太长。请缩短您的评论。
您没有输入任何内容,请重试。
很抱歉,我们当前无法添加您的评论。请稍后重试。
若要添加评论,需要您的家长授予您相应权限。请求权限
您的家长禁用了评论功能。
很抱歉,我们当前无法删除您的评论。请稍后重试。
您已超过了一天之内允许提供的评论数上限。请在 24 小时后重试。
因为我们的系统表明您可能在向其他用户提供垃圾评论,您的帐户已禁用了评论功能。如果您认为我们错误地禁用了您的帐户,请联系 Windows Live 支持部门
完成下面的安全检查,您提供评论的过程才能完成。
您在安全检查中键入的字符必须与图片或音频中的字符一致。

若要添加评论,请使用您的 Windows Live ID 登录(如果您使用过 Hotmail、Messenger 或 Xbox LIVE,您就拥有 Windows Live ID)。登录


还没有 Windows Live ID 吗?请注册

引用通告

此日志的引用通告 URL 是:
http://hzjwcx.spaces.live.com/blog/cns!4A303669374E5F92!115.trak
引用此项的网络日志