我一直试图存储产品的价格。所以我需要2个小数点,数据类型应该是浮点数,我认为。
我正在使用Oracle 11gR2。以下是我所写的内容。
create table test (
product varchar2(20),
price float(5,2));
它应该有效,但它给了我一个错误: ORA-00907:缺少右括号。
如果我把NUMBER而不是float,或者我写了float(5),那么它仍然有效。 但如果我写float(5,2),它会导致错误。我相信我是对的,但我很困惑。
任何人都可以给我一个简要的解释,说明我所做的事情或错误。
答案 0 :(得分:2)
According to the manual,您只能指定float
的精度,而不是刻度。
手册中的引用:
无法指定比例
所以它应该是FLOAT(2)
但我希望您了解FLOAT
数据类型的所有缺点。它是近似类型。你不一定会收回你投入的东西。
有关详细信息,请参阅:http://floating-point-gui.de
使用float
几乎总是错误的选择。