欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【数据库技术】ORACLE基本数据类型总结

程序员文章站 2023-09-20 14:59:23
【数据库技术】ORACLE基本数据类型总结。 ORACLE基本数据类型:字符串、数字、日期、LOB、LONG RAW& RAW、ROWID & UROWID。...

数据库技术】ORACLE基本数据类型总结。

ORACLE基本数据类型:字符串、数字、日期、LOB、LONG RAW& RAW、ROWID & UROWID。

字符串类型的数据又可分为:

据库字符集(CHAR/VARCHAR2/CLOB/LONG)

国际字符集(NCHAR/NVARCHAR2/NCLOB)

字符串数据都通过字符集将字符转换为数字后(二进制),才存储到数据块中。

一 字符串类型

固定长度类型(CHAR/NCHAR)、可变长度类型(VARCHAR2/NVARCHAR2)

固定长度:

输入的字段值小于该字段的限制长度,实际存储数据时,会先自动向右补足空格,再将字段值的内容存储到数据块中。这种方式虽然比较浪费空间,但是存储效率较可变长度类型要好。同时还能减少数据行迁移情况发生。

1.1:CHAR类型 CHAR(size [BYTE | CHAR])

CHAR字段最多可以存储2,000字节的信息。不指定CHAR长度,则默认为1。

默认是存储字节,可以查看数据库参数NLS_LENGTH_SEMANTICS的值。

1.2 VARCHAR类型

虽然目前VARCHAR是VARCHAR2的同义词,但是推荐使用VARCHAR2,而不推荐使用VARCHAR。

1.4: VARCHAR2类型

VARCHAR2最多可以存储4,000字节的信息。

二. 数字类型

2.1 NUMBER类型

NUMBER(P,S):

P,表示有效数字的位数,最多不能超过38;

S,表示从小数点到最低有效数字的位数,范围为-84~127。它为负数时,表示从最大有效数字到小数点的位数

2.2 INTEGER类型

INTEGER是NUMBER的子类型,它等同于NUMBER(38,0),用来存储整数。若插入、更新的数值有小数,则会被四舍五入。

2.3 浮点数

BINARY_FLOAT

BINARY_FLOAT 可以支持至少6位精度,每个 BINARY_FLOAT 的值需要 5 个字节,包括长度字节。

BINARY_DOUBLE

每个 BINARY_DOUBLE 的值需要 9 个字节,包括长度字节。

2.4 FLOAT类型

Float(n),数 n 指示位的精度,可以存储的值的数目。N 值的范围可以从 1 到 126。

三. 日期类型

3.1 DATE类型

DATE是最常用的数据类型,日期数据类型存储日期和时间信息。为每个日期值,Oracle 存储以下信息: 世纪、 年、 月、 日期、 小时、 分钟和秒。一般占用7个字节的存储空间。

3.2 TIMESTAMP类型

这是一个7字节或12字节的定宽日期/时间数据类型。它与DATE数据类型不同,因为TIMESTAMP可以包含小数秒,带小数秒的TIMESTAMP在小数点右边最多可以保留9位

 

3.3 TIMESTAMP WITH TIME 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对象可以存储最多 (4 gigabytes-1) * (database block size) 大小的字符。

4.2 BLOB 数据类型

它存储非结构化的二进制数据大对象,它可以被认为是没有字符集语义的比特流,一般是图像、声音、视频等文件。BLOB对象最多存储(4 gigabytes-1) * (database block size)的二进制数据。

4.3 BFILE 数据类型

二进制文件,存储在数据库外的系统文件,只读的,数据库会将该文件当二进制文件处理。

五. RAW & LONG RAW类型

5.1 LONG类型

ORACLE建议开发中使用CLOB替代LONG类型。支持LONG 列只是为了保证向后兼容性。

5.2 LONG RAW 类型

能存储2GB 的原始二进制数据(不用进行字符集转换的数据)。

5.3 RAW类型

类似于CHAR,声明方式RAW(L),L为长度,以字节为单位。