1.数字类型
NUMBER():该数据类型能存储精度最多达38位的数字。每个数存储在一个变长字段中,其长度在0~22字节之间。Oracle的NUMBER类型精度很高,远远高于许多编程语言中常规的FLOAT和DOUBLE类型。
NUMBER(p,s) p表示精度(总长度) s表示小数位置且四舍五入
例:
NUMBER(5):表示5位数,最大值99999
NUMBER(5,2):表示5位数,两位小数,最大值999.99
2.字符类型
- CHAR(size)类型:指定字符串长度,size 必须是正整数且不超过32767,CHAR字段最多可以存储2,000字节的信息。
- VARCHAR(size)和VARCHAR2(size):两者作用相同,都是一个变长字符串,可能由于兼容性问题两者同时保留了,最多可以存储4000字节的信息。
- CLOB:用于存储基于字符的大对象。在 Oracle9i 数据库中最多可以存储 4GB 的数据,这比 Oracle10g 数据库中可存储的最大数据还要大,这也是现在数据库规定块大小的一个因素(~4GB* 数据块大小)。
- BLOB: (binary large object)在Oracle9i及以前的版本中,这种数据类型允许存储最多4GB的数据,在Oracle 10g及以后的版本中允许存储最多(4GB)×(数据库块大小)字节的数据。BLOB包含不需要进行字符集转换的“二进制“数据,适合存储电子表格、字处理文档、图像文件等数据。
- LONG :long类型的列存储可变长度的字符串,最多可以存储 2GB 的数据。LONG 类型的列有很多在 VARCHAR2 类型列中所具有的特征。可以使用 LONG 类型的列来存储 LONG 类型的文本字符串。LONG 数据类型的使用是为了向前兼容的需要。建议使用 LOB 数据类型来代替 LONG 类型
- RAW:用于存储 raw 类型的二进制数据。最多可以存储 2000B。
- LONG RAW:用于存储 raw 类型的二进制数据。最多可以存储 2GB 的数据。Oracle 数据库不鼓励使用 LONG RAW 数据类型,因为该数据类型已经由 BLOB 数据类型所代替了。
3.日期类型
- DATE:用于在数据库中存储日期和时间。不提供时区的相关信息,其数据长度为固定7个字节,分别描述:年、月、日、时、分、秒。
- TIMESTAMP:使用年、月、日、小时、分钟、秒域来对日期/时间提供更详细的支持,最多可以使用9位数字的精度来存储秒(受底层操作系统支持的限制)。这个数据类型没有时区的相关信息,它可以在 Oracle9i 数据库及其更新的版本中使用