如果我想将列数据类型从 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。
这就是我尝试寻找替代数据类型的原因。
先谢谢大家。
答案 0 :(得分:0)
如果你想要精确的值,那么请远离浮点数据类型,因为它是数字的虚数或近似表示。因此,使用Float数据类型可以获得与预期稍有不同的结果。
使用NUMERIC或DECIMAL数据类型之一。只有数据类型允许您存储具有精确数字表示的小数值(可辩论但有些精确)。 :)
请阅读MSDN Documentation
以了解有关Sql Server中不同数据类型的更多信息。