ORACLE基本数据类型总结

上传人:ji****72 文档编号:37522389 上传时间:2018-04-17 格式:DOCX 页数:8 大小:87.62KB
返回 下载 相关 举报
ORACLE基本数据类型总结_第1页
第1页 / 共8页
ORACLE基本数据类型总结_第2页
第2页 / 共8页
ORACLE基本数据类型总结_第3页
第3页 / 共8页
ORACLE基本数据类型总结_第4页
第4页 / 共8页
ORACLE基本数据类型总结_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《ORACLE基本数据类型总结》由会员分享,可在线阅读,更多相关《ORACLE基本数据类型总结(8页珍藏版)》请在金锄头文库上搜索。

1、 ORACLE 基本数据类型(亦叫内置数据类型 built-in datatypes)可以按类型分为:字符串 类型、数字类型、日期类型、LOB 类型、LONG RAW 2. 3.NAME TYPE VALUE 4.- - - 5. 6.nls_length_semantics string BYTE 7. 8.eg: 9. 10. CREATE TABLE TEST 11. 12. ( 13. 14. NAME_OLD CHAR(10), 15. 16. NAME_NEW CHAR(10 CHAR)17. 18. ) 19. 20. INSERT INTO TEST 21. 22. ( NAM

2、E_OLD, NAME_NEW) 23. 24. SELECT ABCDEFGHIJ , 你清除字节与字符 FROM DUAL; 25. 26. COMMIT; 27. 28. INSERT INTO TEST 29. 30. ( NAME_OLD, NAME_NEW) 31. 32. SELECT 你清除字节与字符 , ABCDEFGHIJ FROM DUAL; 33. 34. ORA-12899: 列 “SYS“.“TEST“.“NAME_OLD“ 的值太大 (实际值: 24, 最大值: 10) 注意:数据库的 NLS_CHARACTERSET 为 AL32UTF8,即一个汉字占用三到四个

3、字节。如果 NLS_CHARACTERSET 为 ZHS16GBK,则一个字符占用两个字节。 如果串的长度小于或等于 250(0x010xFA) , Oracle 会使用 1 个字节来表示长度。对于 所有长度超过 250 的串,都会在一个标志字节 0xFE 后跟有两个字节来表示长度。因此, 如果有一个包含“Hello World”的 VARCHAR2(80),则在块中可能如图 12.-1 所示1.2: NCHAR 类型类型 这是一个包含 UNICODE 格式数据的定长字符串。NCHAR 字段最多可以存储 2,000 字节的信 息。它的最大长度取决于国家字符集。另外查询时,如果字段是 NCHAR

4、 类型,则需要如下 书写 SELECT translated_description FROM product_descriptions WHERE translated_name = NLCD Monitor 11/PM;1.3 VARCHAR 类型类型 不要使用 VARCHAR 数据类型。使用 VARCHAR2 数据类型。虽然 VARCHAR 数据类型目前是 VARCHAR2 的同义词,VARCHAR 数据类型将计划被重新定义为一个单独的数据类型用于可 变长度的字符串相比,具有不同的比较语义。 1.4: VARCHAR2 类型类型 变长字符串,与 CHAR 类型不同,它不会使用空格填充至最

5、大长度。VARCHAR2 最多可以存 储 4,000 字节的信息。 1.5: NVARCHAR2 类型类型这是一个包含 UNICODE 格式数据的变长字符串。 NVARCHAR2 最多可以存储 4,000 字节的 信息。二二. 数字类型数字类型2.1 NUMBER 类型类型 NUMBER(P,S)是最常见的数字类型,可以存放数据范围为 1013010126(不包含此值),需 要 122 字节(BYTE)不等的存储空间。 P 是 Precison 的英文缩写,即精度缩写,表示有效数字的位数,最多不能超过 38 个有效数 字 S 是 Scale 的英文缩写,可以使用的范围为-84127。Scale

6、 为正数时,表示从小数点到最低 有效数字的位数,它为负数时,表示从最大有效数字到小数点的位数 下面是官方文档的示例Actual DataSpecified AsStored As123.89NUMBER123.89123.89NUMBER(3)124123.89NUMBER(6,2)123.89123.89NUMBER(6,1)123.9123.89NUMBER(3)124123.89NUMBER(4,2)exceeds precision123.89NUMBER(6,-2)100.01234NUMBER(4,5).01234.00012NUMBER(4,5).00012.000127NUMB

7、ER(4,5).00013.0000012NUMBER(2,7).0000012.00000123NUMBER(2,7).00000121.2e-4NUMBER(2,5)0.000121.2e-5NUMBER(2,5)0.000012.2 INTEGER 类型类型 INTEGER 是 NUMBER 的子类型,它等同于 NUMBER(38,0) ,用来存储整数。若插入、更新 的数值有小数,则会被四舍五入。 例如: CREATE TABLE TEST ( ID INTEGER )查看表 TEST 的 DDL 定义如下所示 CREATE TABLE “SYS“.“TEST“ ( “ID“ NUMBE

8、R(*,0) ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE “SYSTEM“ ; INSERT INTO TEST SELECT

9、12.34 FROM DUAL; INSERT INTO TEST SELECT 12.56 FROM DUAL; SQL SELECT * FROM TEST; ID - 12 132.3 浮点数浮点数 浮点数可以有一个十进制数点任何地方从第一个到最后一个数字,或者可以在所有有没有 小数点。指数可能(可选) 用于以下数量增加的范围 (例如, 1.777e-20)。刻度值不适 用于浮点数字,因为可以显示在小数点后的位数的数量不受限制。 二进制浮点数不同数量的值由 Oracle 数据库内部存储的方式。使用小数精度数存储值。 完全相同号码存储范围和数量由支持的精度内的所有文本。正是因为使用小数精度

10、(数字 0 到 9) 表示文本存储文本。使用二进制精度 (数字 0 和 1) 存储二进制浮点数。这 种存储方案不能代表所有确切地使用小数精度的值。频繁地,将值从十进制转换为二进制 的精度时出现的错误时撤消值回从二进制转换为十进制精度。在字面 0.1 是一个这样的例 子。 Oracle 数据库提供了专为浮点数的两种数值数据类型: BINARY_FLOATBINARY_FLOAT 是 32 位、 单精度浮点数字数据类型。可以支持至少 6 位精度,每个 BINARY_FLOAT 的值需要 5 个字节,包括长度字节。 BINARY_DOUBLEBINARY_DOUBLE 是为 64 位,双精度浮点数字

11、数据类型。每个 BINARY_DOUBLE 的值需要 9 个字节,包括长度字节。 在数字的列中,浮点数有小数精度。在 BINARY_FLOAT 或 BINARY_DOUBLE 的列中,浮点 数有二进制的精度。二进制浮点数支持的特殊值无穷大和 NaN (不是数字) 。 您可以指定列在表 2-4 范围内的浮点数。“数字文本“中定义了用于指定浮点数的格式。 Table 2-3 Floating Point Number LimitsValueBinary-FloatBinary-DoubleMaximum positive finite value3.40282E+38F1.797693134862

12、31E+308Minimum positive finite value1.17549E-38F2.22507485850720E-3082.5 FLOAT 类型类型FLOAT 类型也是 NUMBER 的子类型。 Float(n),数 n 指示位的精度,可以存储的值的数目。N 值的范围可以从 1 到 126。若要 从二进制转换为十进制的精度,请将 n 乘以 0.30103。要从十进制转换为二进制的精度, 请用 3.32193 乘小数精度。126 位二进制精度的最大值是大约相当于 38 位小数精度。三三. 日期类型日期类型 日期类型用于存储日期数据,但是并不是使用一般的格式(2012-08-08

13、)直接存储到数据 库的。 3.1 DATE 类型类型 DATE 是最常用的数据类型,日期数据类型存储日期和时间信息。虽然可以用字符或数字类 型表示日期和时间信息,但是日期数据类型具有特殊关联的属性。为每个日期值,Oracle 存储以下信息: 世纪、 年、 月、 日期、 小时、 分钟和秒。一般占用 7 个字节的存储 空间。 3.2 TIMESTAMP 类型类型 这是一个 7 字节或 12 字节的定宽日期/时间数据类型。它与 DATE 数据类型不同,因为 TIMESTAMP 可以包含小数秒,带小数秒的 TIMESTAMP 在小数点右边最多可以保留 9 位 3.3 TIMESTAMP WITH TI

14、ME ZONE 类型类型 这是 TIMESTAMP 类型的变种,它包含了时区偏移量的值 3.4 TIMESTAMP WITH LOCAL TIME ZONE 类型类型 3.5 INTERVAL YEAR TO MOTH 3.6 INTERVAL DAY TO SECOND四四. LOB 类型类型 内置的 LOB 数据类型包括 BLOB、CLOB、NCLOB、BFILE(外部存储)的大型化和非结构化 数据,如文本、图像、视屏、空间数据存储。BLOB、CLOB、NCLOB 类型4.1 CLOB 数据类型数据类型它存储单字节和多字节字符数据。支持固定宽度和可变宽度的字符集。CLOB 对象可以存 储最

15、多 (4 gigabytes-1) * (database block size) 大小的字符 4.2 NCLOB 数据类型数据类型它存储 UNICODE 类型的数据,支持固定宽度和可变宽度的字符集,NCLOB 对象可以存储 最多(4 gigabytes-1) * (database block size)大小的文本数据。 4.3 BLOB 数据类型数据类型它存储非结构化的二进制数据大对象,它可以被认为是没有字符集语义的比特流,一般 是图像、声音、视频等文件。BLOB 对象最多存储(4 gigabytes-1) * (database block size)的二 进制数据。 4.4 BFILE

16、 数据类型数据类型二进制文件,存储在数据库外的系统文件,只读的,数据库会将该文件当二进制文件处 理 五五. RAW & LONG RAW 类型类型5.1 LONG 类型类型它存储变长字符串,最多达 2G 的字符数据(2GB 是指 2 千兆字节, 而不是 2 千兆字符) ,与 VARCHAR2 或 CHAR 类型一样,存储在 LONG 类型中的文本要进行字符集转换。 ORACLE 建议开发中使用 CLOB 替代 LONG 类型。支持 LONG 列只是为了保证向后兼容性。 CLOB 类型比 LONG 类型的限制要少得多。 LONG 类型的限制如下: 1.一个表中只有一列可以为 LONG 型。(Why?有些不明白) 2.LONG 列不能定义为主键或唯一约束, 3.不能建立索引 4.LONG 数据不

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号