MSSQL中REAL的替代列数据类型

时间:2014-03-12 11:55:59

标签: php sql-server types

如果我想将列数据类型从 REAL 更改为其他内容,例如 NUMERIC ,那么我应该使用哪种数据类型和精度?的即。 NUMERIC(?,?)

请帮忙~~谢谢。

这是我在数据类型为REAL的当前列中的数据。

0.5
0.0086
2E-07
NULL
4
0.5
0.00375
1E-07

我在查询时需要获得与往常完全相同的值,
但由于php驱动程序对REAL数据类型有一些问题,
我不能再使用REAL了。

我尝试使用浮动的新列,
我使用update sql子句将值复制到新列
和我在PHP中查询的新列完全相同......: - (

这很烦人,因为如果我将16.7插入REAL列,则 我在短信中得到16.7,在PHP查询中得到16.700000762939。

这就是我尝试寻找替代数据类型的原因。

先谢谢大家。

1 个答案:

答案 0 :(得分:0)

如果你想要精确的值,那么请远离浮点数据类型,因为它是数字的虚数或近似表示。因此,使用Float数据类型可以获得与预期稍有不同的结果。

使用NUMERIC或DECIMAL数据类型之一。只有数据类型允许您存储具有精确数字表示的小数值(可辩论但有些精确)。 :)

请阅读MSDN Documentation以了解有关Sql Server中不同数据类型的更多信息。