网站大量收购闲置独家精品文档,联系QQ:2885784924

《Oracle 数据类型及存储方式》.pdf

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《Oracle 数据类型及存储方式》.pdf

Oracle 数据类型及存储方式 袁光东 原创 概述 通过实例,全面而深入的分析oralce 的基本数据类型及它们的存储方式。以ORACLE 10G 为 基础,介绍oralce 10g 引入的新的数据类型。让你对oracle 数据类型有一个全新的认识。揭 示一些不为人知的秘密和被忽略的盲点。从实用和优化的角度出发,讨论每种数据类型的特 点。从这里开始oracle 之旅! 第一部份 字符类型 §1.1 char 定长字符串,会用空格来填充来达到其最大长度,最长2000 个字节。 1. 新建一个测试表test_char.,只有一个char 类型的列。长度为10 SQL create table test_char(colA char(10)); Table created 2 . 向这个表中插入一些数据。 SQL insert into test_char values(a); 1 row inserted SQL insert into test_char values(aa); 1 row inserted SQL insert into test_char values(aaa); 1 row inserted SQL insert into test_char values(aaaa); 1 row inserted SQL insert into test_char values(aaaaaaaaaa); 1 row inserted 注意:最多只能插入10 个字节。否是就报错。 SQL insert into test_char values(aaaaaaaaaaa); insert into test_char values(aaaaaaaaaaa) ORA-12899: value too large for column PUB_TEST.TEST_CHAR.COLA (actual: 11, maximum: 10) 3 . 使用dump 函数可以查看每一行的内部存数结构。 SQL select colA, dump(colA) from test_char; COLA DUMP(COLA) a Typ=96 Len=10: 97,32,32,32,32,32,32,32,32,32 aa Typ=96 Len=10: 97,97,32,32,32,32,32,32,32,32 aaa Typ=96 Len=10: 97,97,97,32,32,32,32,32,32,32 aaaa Typ=96 Len=10: 97,97,97,97,32,32,32,32,32,32 aaaaaaaaaa Typ=96 Len=10: 97,97,97,97,97,97,97,97,97,97 注意:Typ=96 表示数据类型的ID。Oracle 为每一种数据类型都进行了编号。说明char 类型 的编号是96. Len =10 表示所在的内部存储的长度(用字节表示)。虽然第一例只存了一个字符’a’ ,但是它 还是占用了10 个字节的空间。 97,32,32,32,32,32,32,32,32,32 表示内部存储方式。可见oracle 的内部存储是以数据库字符集 进行存储的。 97 正好是字符a 的ASCII 码。 可以使用chr 函数把ASCII 码转成字符。 SQL select chr(97) from dual; CHR(97) a 要想知道一个字符的ASCII 码,可以使用函数ascii SQL select ascii(a) from dual; ASCII(A) 97 32 正好是空格的ascii 码值。 Char 类型是定长类型。它总会以空格来填充以达到一个固定宽度。 使用char 类型会浪费存储空间。 Oracle 的数据类型的长度单位是字节。 SQL select dump(汉) from dual; DUMP(汉) Typ=96 Len=2: 186,186 可见一个汉字在oracle 中是占用了两个字节的。 英文字母或符号只占用一个字节。 Char(10)最多可存放5 个汉字。 §1.2 varchar2 是一种变长的字符类型。最多可占用4000 字节的存储空间。 1. 创建一个表,只有一列,类型为varchar2,长度为10 SQL create table test_varchar( col varchar2(10)); Table created 2.

文档评论(0)

ycwf + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档