【Oracle】常用数据类型

目录

  • 引言
  • 1.字符类型
  • 2.数值类型
  • 3.日期类型
  • 4. LOB 类型
  • 5.二进制类型
  • 6.行类型

引言

Oracle 数据库内置的数据类型可分为6类:字符类型、数值类型、日期类型、 LOB 类型、二进制类型和行类型


1.字符类型

CHAR [( size [ BYTE[CHAR ])]:用于存储固定长度的字符串。参数 size 规定了字符串的最大长度,可选关键字 BYTE 或 CHAR 表示其长度单位是字节或字符,默认值为1B,允许最大长度为2000B。如果 CHAR 类型的列中实际保存的字符串长度小于指定的 size 大小, Oracle 将自动使用空格填满。

VARCHAR2( size [ BYTE I CHAR ]):用于存储可变长度的字符串。参数size 规定了字符串的最大长度,可选关键字 BYTE 或 CHAR 表示其长度单位是字节或字符,默认单位为 BYTE ,允许字符串的最大长度为4000B。与 CHAR 类型不同,当VARCHAR2类型的列中实际保存的字符串长度小于 size 时,将按字符串实际长度分配空间。

NCHAR [( size )]:用于存储多字节编码( UNICODE )的定长字符串。参数 size 指定了字符串的最大字符数。如果字符采用AL16UTF16编码,存储容量可以提高2倍,如果采用UTF8编码,存储容量可以提高3倍。 size 的取值最大为2000B,默认为1。。NVARCHAR2( size ):用于存储多字节编码( UNIcoDE )的变长字符串。参数 size 指定了学符串的最大字符数,最大为4000B。

LONG :用于存储变长字符串,最大长度为2GB。这是为了与早期版本兼容而保留的字符类型。


2.数值类型

NUMBERL ( pL , S ]:可以存储0、正数和负数,数值的绝对值为10-o~10。 NUMBER 类型数据占用1~22B的存储空间。 p 表示数值的总位数(精度),默认值为38; s 表示刻度,取值为一84~127, s 为正数时表示保留小数的位数, s 为负数时表示对小数点左侧 s 位进行舍人,默认值为0。


3.日期类型

DATE:用于存储日期和时间。可以存储的日期范围为公元前4712年1月1日到公元后9999年12月31日,占据7B的空间,由世纪、年、月、日、时、分、秒组成。. TIMESTAMPL ( p )]:表示时间戳,是 DATE 数据类型的扩展,允许存储小数形式的秒值。 p 表示秒的小数位数,取值范围为0~9,默认值为6。根据 p 值的设置不同, TIMESTAMP 类型数据占据7~11B空间,由世纪、年、月、日、时、分、秒组成,如30-MAY-1207.56.07.544000PM。


4. LOB 类型

CLOB:用于存储单字节或多字节的大型字符串对象,支持使用数据库字符集的定长或变长字符。在 Oracle 12c中 CLOB 类型最大存储容量为128TB。
BLOB:用于存储大型的、未被结构化的变长的二进制数据,如二进制文件、图片文件、音频和视频等非文本文件。在 Oracle 12c中 BLOB 类型最大存储容量为128TB。
BFILE:用于存储指向二进制格式文件的定位器,该二进制文件保存在数据库外部的操作系统中。在 Oracle 12c中 BFILE 文件最大容量为128TB,不能通过数据库操作修改 BFILE 定位器所指向的文件。


5.二进制类型

ROW ( size ):用于存储变长的二进制数据, size 表示数据长度,取值范围为1~2000B。
LONG ROW :用于存储变长的二进制数据,最大存储数据量为2GB。 Oracle 建议使用 BLOB 类型代替 LONG RAW 类型。


6.行类型

ROWID :行标识符,表示表中行的物理地址的伪劣类型。 ROWID 类型数据由18位十六进制数构成,其中1-6位表示对象编号,7-8位表示文件编号,9-15位表示数据块编号,16-18位表示数据块内编号。

你可能感兴趣的:(oracle,数据库,dba,数据库开发)