Oracle 10g 中的 FLOAT 数据类型是什么,它与 NUMBER 有什么关系?
我可以在 Oracle 文档中找到 FLOAT 的唯一参考是在此页面的 BINARY_DOUBLE 部分:http: //docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements001.htm#i140621它似乎表明它存储一个浮点数并允许您指定精度位,但它不引用 NUMBER 类型。11g 文档根本没有提到 FLOAT。
《专家级 Oracle 数据库架构:Oracle 数据库 9i、10g 和 11g 编程技术和解决方案,第二版》一书说:
除了 NUMBER、BINARY_FLOAT 和 BINARY_DOUBLE 类型之外,Oracle 在语法上还支持以下数字数据类型:
当我说“语法支持”时,我的意思是 CREATE 语句可能会使用这些数据类型,但实际上它们都是 NUMBER 类型。...
- FLOAT(p):映射到 NUMBER 类型。
我不明白的是它如何映射到 NUMBER。
NUMBER(p)
允许我指定精度,但比例默认为 0。似乎FLOAT(p)
映射到NUMBER(decimal p, *)
,即固定精度但可变比例,据我所知,这不是 NUMBER 类型所允许的。
那么,FLOAT 不仅是一个别名,而且还提供了 NUMBER 本身不提供的行为?