2012年(28)
分类: Oracle
2012-03-01 15:29:19
oracle数据类型全攻略:
数据类型 |
取值范围 |
描述 |
备注 |
Char(n) |
n=1 to 2000字节 |
存储固定长度的字符串。默认长度为1。 |
|
Varchar2(n) |
n=1 to 4000字节 | 可变长的字符串,具体定义时指明最大长度n, 这种数据类型可以放数字、字母以及ASCII码字符集(或者EBCDIC等数据库系统接受的字符集标准)中的所有符号。 如果数据长度没有达到最大值n,Oracle 会根据数据大小自动调节字段长度, 如果你的数据前后有空格,Oracle 8会自动将其删去。VARCHAR2是最常用的数据类型。 可做索引的最大长度3209。Varchar2类型的字段长度可以达到4000字节,Varchar2类型的变量长度可以达到32676字节。 |
节省表空间:一个空的varchar2(2000)字段和一个空的varchar2(2)字段所占用的空间是一样的。 varchar(n)和Varchar2(n)同义,但oracle不推荐使用前者 |
Nchar(n) |
n=1 to 2000字节 |
Unicode数据类型,只能存储utf-16和utf-8的数据。存储固定长度的字符串。 |
|
Nvarchar2(n) |
n=1 to 4000字节 |
Unicode数据类型,只能存储utf-16和utf-8的数据。存储变长字符串。 |
|
Long | 最大2G | 可变长字符列,最大长度限制是2GB,用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。 |
在不同系统间移动需要进行转换。 |
Clob |
最大4G |
存储单字节字符型数据。适用于存储超长文本。 |
|
Nclob |
最大4G |
存储多字节国家字符型数据。适用于存储超长文本。 |
|
Blob |
最大4G |
存储二进制数据。适用于存储图像、视频、音频等。 |
|
Bfile |
最大长度是4GB |
在数据库外部保存的大型二进制对象文件,最大长度是4GB。这种外部的LOB类型,通过数据库记录变化情况,但是数据的具体保存是在数据库外部进行的。 Oracle 可以读取、查询BFILE,但是不能写入,不参与事务。 |
|
Number(m,n) |
m=1 to 38 |
存储整数或浮点数。可变长的数值列,允许0、正值及负值,m是所有有效数字的位数,n是小数点以后的位数。 |
|
Date |
数据类型用来存储日期和时间格式的数据。默认格式:DD-MON-YYYY。从公元前4712年1月1日到公元4712年12月31日的所有合法日期 |
||
Row(n) |
n=1 to 2000 |
可变长二进制数据,在具体定义字段的时候必须指明最大长度n,Oracle 用这种格式来保存较小的图形文件或带格式的文本文件,如Miceosoft Word文档。 |
|
LongRow |
最大长度是2GB。 |
可变长二进制数据,最大长度是2GB。Oracle 用这种格式来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件。 |
|
Rowid |
ROWID为该表行的唯一标识,是一个伪列,可以用在SELECT中,但不可以用INSERT, UPDATE来修改该值。ROWID列,Oracle使用ROWID列来建立内部索引。你可以引用ROWID的值,但ROWID并不存放在数据库中,你可以创建一个表包含ROWID数据类型。但Oracle不保证该值是合法的rowids。用户必须确保该rowid值是真实合法的。 |
UROWID支持逻辑和物理的rowids,列UROWID类型可以存储各种rowids, 从8.1以后的Oracle才有UROWID类型,它也可以用来保存以前的ROWID类型数据信息。 |