## oracle数据类型 1. `varcha2` 字母数字型数据类型,最大长度是4000字节或者字符,是变长字符串。 ### 数字类型 1. `NUMBER`类型: `NUMBER(P,S)`是最常见的数字类型,可以存放数据范围为10^130~10^126(不包含此值),需要1~22字节(BYTE)不等的存储空间。 2. `INTEGER`类型 `INTEGER`是`NUMBER`的子类型,它等同于NUMBER(38,0),用来存储整数。若插入、更新的数值有小数,则会被四舍五入。 3. 浮点型 `BINARY_FLOAT` 是 32 位、 单精度浮点数字数据类型。可以支持至少6位精度,每个 `BINARY_FLOAT` 的值需要 5 个字节,包括长度字节。 `BINARY_DOUBLE` 是为 64 位,双精度浮点数字数据类型。每个 `BINARY_DOUBLE` 的值需要 9 个字节,包括长度字节。 3. FLOAT 类型 FLOAT类型也是NUMBER的子类型。 ### 日期类型 1. DATE类型 Oracle 存储以下信息: 世纪、 年、 月、 日期、 小时、 分钟和秒。一般占用7个字节的存储空间。 2. TIMASTAMP类型 这是一个7字节或12字节的定宽日期/时间数据类型。它与DATE数据类型不同,因为TIMESTAMP可以包含小数秒,带小数秒的TIMESTAMP在小数点右边最多可以保留9位 3. TIMESTAMP WITH TIME ZONE类型 这是TIMESTAMP类型的变种,它包含了时区偏移量的值 ### LOB类型 内置的LOB数据类型包括BLOB、CLOB、NCLOB、BFILE(外部存储)的大型化和非结构化数据,如文本、图像、视屏、空间数据存储。BLOB、CLOB、NCLOB类型 #### CLOB类型 它存储单字节和多字节字符数据。支持固定宽度和可变宽度的字符集。CLOB对象可以存储最多4G文本数据 #### NCLOB类型 它存储UNICODE类型的数据,支持固定宽度和可变宽度的字符集,NCLOB对象可以存储最多4G大小的文本数据。 #### BLOB类型 它存储非结构化的二进制数据大对象,它可以被认为是没有字符集语义的比特流,一般是图像、声音、视频等文件。 #### BFILE类型 二进制文件,存储在数据库外的系统文件,只读的,数据库会将该文件当二进制文件处理 ## RAR & LONG RAW 类型 ### LONG 类型 它存储变长字符串,最多达2G的字符数据(2GB是指2千兆字节, 而不是2千兆字符),与VARCHAR2 或CHAR 类型一样,存储在LONG 类型中的文本要进行字符集转换。ORACLE建议开发中使用CLOB替代LONG类型。支持LONG 列只是为了保证向后兼容性。CLOB类型比LONG类型的限制要少得多。 ### LONG RAW 类型 能存储2GB 的原始二进制数据(不用进行字符集转换的数据) ### RAW 类型 用于存储二进制或字符类型数据,变长二进制数据类型,这说明采用这种数据类型存储的数据不会发生字符集转换。这种类型最多可以存储2,000字节的信息 ## ROWID & UROWID 类型 在数据库中的每一行都有一个地址。然而,一些表行的地址不是物理或永久的,或者不是ORACLE数据库生成的。