我正在尝试将计算从C#迁移到TSQL,并且在达到所需的精度水平方面遇到了一些困难。插入了一些有问题的变量的公式示例如下:
( 6.4 + ( 10 - 6.4 ) * 0.5 ) * 0.75
当我在C#中执行此操作时,我得到结果6.1499999999999995
。
但是,如果我在TSQL中选择它,它将四舍五入为6.1500
。
有没有办法在TSQL中实现更高的精度?
答案 0 :(得分:0)
你可以做一个
CAST(X AS DECIMAL(y,s))
其中X是列,y是精度。 38是您可以使用的最大值。 s是小数点右边的值的数量。
https://msdn.microsoft.com/en-us/library/ms187746(v=sql.120).aspx