参考博客:
1.ORACLE中的各种数据类型详细的介绍
2.Oracle基本数据类型
一、数字类型
1.NUMBER类型
NUMBER(P,S)是最常见的数字类型,可以存放数据范围为10^130~10^126(不包含此值),需要1~22字节(BYTE)不等的存储空间。
P 是Precison的英文缩写,即精度缩写,表示有效数字的位数,最多不能超过38个有效数字
S是Scale的英文缩写,可以使用的范围为-84~127。Scale为正数时,表示从小数点到最低有效数字的位数,它为负数时,表示从最大有效数字到小数点的位数。
2.INTEGER类型
INTEGER是NUMBER的子类型,它等同于NUMBER(38,0),用来存储整数。若插入、更新的数值有小数,则会被四舍五入。
3.FLOAT类型
FLOAT类型也是NUMBER的子类型。
Float(n),数 n 指示位的精度,可以存储的值的数目。N 值的范围可以从 1 到 126。若要从二进制转换为十进制的精度,请将 n 乘以 0.30103。要从十进制转换为二进制的精度,请用 3.32193 乘小数精度。126 位二进制精度的最大值是大约相当于 38 位小数精度。
二、字符串类型
三、日期类型
1.DATE类型
2.TIMESTAMP类型
数据类型 | 参数 | 描述 |
char(n) | n=1 to 2000字节 | 定长字符串,n字节长,如果不指定长度,缺省为1个字节长(一个汉字为2字节) |
varchar2(n) | n=1 to 4000字节 | 可变长的字符串,具体定义时指明最大长度n, 这种数据类型可以放数字、字母以及ASCII码字符集(或者EBCDIC等数据库系统接受的字符集标准)中的所有符号。 如果数据长度没有达到最大值n,Oracle 8i会根据数据大小自动调节字段长度, 如果你的数据前后有空格,Oracle 8i会自动将其删去。VARCHAR2是最常用的数据类型。 可做索引的最大长度3209。 |
number(m,n) | m=1 to 38 n=-84 to 127 |
可变长的数值列,允许0、正值及负值,m是所有有效数字的位数,n是小数点以后的位数。 如:number(5,2),则这个字段的最大值是99,999,如果数值超出了位数限制就会被截取多余的位数。 如:number(5,2),但在一行数据中的这个字段输入575.316,则真正保存到字段中的数值是575.32。 如:number(3,0),输入575.316,真正保存的数据是575。 |
date | 无 | 从公元前4712年1月1日到公元4712年12月31日的所有合法日期, Oracle 8i其实在内部是按7个字节来保存日期数据,在定义中还包括小时、分、秒。 缺省格式为DD-MON-YY,如07-11月-00 表示2000年11月7日。 |
long | 无 | 可变长字符列,最大长度限制是2GB,用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。 long是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。 |
raw(n) | n=1 to 2000 | 可变长二进制数据,在具体定义字段的时候必须指明最大长度n,Oracle 8i用这种格式来保存较小的图形文件或带格式的文本文件,如Miceosoft Word文档。 raw是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。 |
long raw | 无 | 可变长二进制数据,最大长度是2GB。Oracle 8i用这种格式来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件。 在同一张表中不能同时有long类型和long raw类型,long raw也是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。 |
blob clob nclob |
无 | 三种大型对象(LOB),用来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件,最大长度是4GB。 LOB有几种类型,取决于你使用的字节的类型,Oracle 8i实实在在地将这些数据存储在数据库内部保存。 可以执行读取、存储、写入等特殊操作。 |
bfile | 无 |
在数据库外部保存的大型二进制对象文件,最大长度是4GB。 |
----