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

【数据库技术】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为长度,以字节为单位。

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐