Oracle数据库中怎么存贮Double和Float类型?

解决方案 »

  1.   

    可以使用BINARY_FLOAT和BINARY_DOUBLE类型。BINARY_FLOAT
    存储精度6位。占用5字节,4字节用于存储32Bit的单精度浮点数,1个字节存储长度。
    取值范围[-1.17549E+38,3.40282E+38]。BINARY_DOUBLE
    存储精度13位。占用9字节,8字节用于存储64Bit的单精度浮点数,1个字节存储长度。
    取值范围[-2.22507485850720E+308,1.79769313486231E+308]。NUMBER类型比BINARY_FLOAT和BINARY_DOUBLE类型的精度大很多,NUMBER的存储精度最多达38位,
    但是取值范围远小于BINARY_DOUBLE。
    对于浮点数,NUMBER类型不能使用硬件进行计算,
    因此处理浮点数的时候性能要比BINARY_FLOAT和BINARY_DOUBLE差。
      

  2.   

    VARCHAR2(size)   可变长度的字符串,其最大长度为size个字节;size的最大值是4000,而最小值是1;你必须指定一个VARCHAR2的size;   
    NVARCHAR2(size)   可变长度的字符串,依据所选的国家字符集,其最大长度为size个字符或字节;size的最大值取决于储存每个字符所需的字节数,其上限为4000;你必须指定一个NVARCHAR2的size;   
    NUMBER(p,s)   精度为p并且数值范围为s的数值;精度p的范围从1到38;数值范围s的范围是从-84到127; 
    例如:NUMBER(5,2)   表示整数部分最大3位,小数部分为2位; 
    NUMBER(5,-2)   表示数的整数部分最大为7其中对整数的倒数2位为0,前面的取整。 
    NUMBER   表示使用默认值,即等同于NUMBER(5);   
    LONG   可变长度的字符数据,其长度可达2G个字节;   
    DATE   有效日期范围从公元前4712年1月1日到公元后4712年12月31日   
    RAW(size)   长度为size字节的原始二进制数据,size的最大值为2000字节;你必须为RAW指定一个size;   
    LONG   RAW   可变长度的原始二进制数据,其最长可达2G字节;   
    CHAR(size)   固定长度的字符数据,其长度为size个字节;size的最大值是2000字节,而最小值和默认值是1;   
    NCHAR(size)   也是固定长度。根据Unicode标准定义   
    CLOB   一个字符大型对象,可容纳单字节的字符;不支持宽度不等的字符集;最大为4G字节   
    NCLOB   一个字符大型对象,可容纳单字节的字符;不支持宽度不等的字符集;最大为4G字节;储存国家字符集   
    BLOB   一个二进制大型对象;最大4G字节   
    BFILE   包含一个大型二进制文件的定位器,其储存在数据库的外面;使得可以以字符流I/O访问存在数据库服务器上的外部LOB;最大大小为4G字节. Oracle数据库里面你可以存入字符串,取出后再转化使用。