Oracle中提供一系列类型,每个类型的特点如下:
char:存储固定长度的字符,如果字符长度不够会在右边补空格。比如:name char(10),当给name赋值为'zhangsan'时会在右边补充2个空格。char类型的容量为1~2000B,没有指定则默认长度为1。
varchar2:存储长度可变的字符,和char类型的不同,它不会自动补充空格,且定义时必须指定长度。存储容量为1~4000B。
Nchar/Nvarchar:和Char/Varchar类型类似,不过用于存储多字节字符,即UNICODE字符数据。
Date类型:用于存储公元前4712-1-1至公元4712-12-31,存储长度为7B,日期格式由nls_date_format参数指定,如dd-MM-YY
Long:和varchar类似用于存储可变字符数据,但容量最大到2GB,该类型目的是为了保持向后兼容。后续版本的数据库建议采用LOB类型,不再推荐使用Long类型。
RAW:用于存储原始的二进制数据,最大长度为2000B,目的也是为了向后兼容,后续版本建议采用LOB类型。
Number:存储最大精度38位10进制数。
Real:最大精度63位二进制,近似18位十进制。
Double precision/Float:最大精度都是126位二进制,近似38位十进制。
Int、integer、smallint:最大精度都是近似38位十进制
Real、int、integer、smallint、float、double precision都是number类型的子类型。
Clob:存储可变长度的单字节数据,长度可达4GB。
Nclob:存储可变长度的unicode字符数据,长度达到到4GB 。
Blob:存储变长度的二进制字符数据,长度可以达到4GB。
Bfile:存储指向外部文件的指针。