SQL查询将列类型定义为具有3个十进制数的float

时间:2013-11-12 02:15:00

标签: sql

这是一个对我不起作用的简单例子:

CREATE TABLE Vertex(
PointID CHARACTER(15) PRIMARY KEY,
Height FLOAT(6,3)
);

输入后如下:

INSERT INTO Vertex values("Tryout 1",555.22689562);

我希望使用以下值保存高度:555.227 然而事实并非如此,我一直在寻找整个号码。

您能否指点我如何定义列类型并包含格式xxxxxx.xxx

1 个答案:

答案 0 :(得分:2)

将float更改为十进制,它将起作用。

Height decimal(6,3)

Float是近似数字数据类型。使用float可能会导致精度损失,并且使用float数据类型进行相等可能无法一直工作。

十进制数据类型是固定的精度数据类型。要使用十进制数据类型,您需要转换为convert(decimal(6,3), <number>)之类的数据类型。

如果是插入查询,则会隐式完成。