SQL 查询将列类型定义为带有 3 个十进制数字的浮点数



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

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

像这样输入后:

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

我希望使用值保存高度:555.227然而,对我来说并非如此,我一直发现整个数字被保存。

您能否指出如何定义列类型并包含格式的替代方案 xxxxxx.xxx

将浮点数更改为十进制,它将起作用。

Height decimal(6,3)

浮点数是近似数字数据类型。使用 float 可能会导致精度损失,并且将 float 数据类型用于相等可能并非始终有效。

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

在插入查询的情况下,它是隐式完成的。

最新更新