sql server 乘法 丢失精度有关问题

sql server 乘法 丢失精度问题
现在有一张表tba(pric, nav ,factor)

select pric, nav ,factor, pric*factor  ---908.880050
from tba 
sql server 乘法 丢失精度有关问题
这种在 表查询里面乘法 和 单独拿出来乘结果是不一样的。


--- 908.8800495726000000000
SELECT 1004.3600000000 *0.904934535

一个是 908.880050  一个是 908.8800495726000000000,, 怎么才能保证不丢失精度,即使用 ROUND(,10) 还是没有用。

------解决思路----------------------
用decimal或者numeric来cast每一列的类型及计算后的最终类型,说白了就是把类型统一,如果你的列本来是float型的话,数据存储是不精确的
------解决思路----------------------
你看看,应该是你表的数据类型定义的问题吧。。。sql server 乘法 丢失精度有关问题