我正在更新case语句中的表,如下所示:
更新MyTable 设置FieldC = (情况
...
当FieldA ='X'时,FieldB *(600/10000)/ 365
...
否则为null 结束) 来自MyTable
FieldB被赋予一个整数,而Field C是一个浮点数。
在FieldA为X且FieldB为'7'的情况下,我得到的结果是0.当小数值为0.00115068时,小数点上没有其他...如果我将公式更改为“... FieldB * .06 / 365“我得到了不同的结果 - 我得到0.00115并且缺少十进制的剩余部分。
为什么会这样?
提前致谢...
答案 0 :(得分:0)
如果所有表达式都是整数,则SQL Server使用整数计算。您可以通过e来解决这个问题。 G。使用
FieldB * (600.0 / 10000) / 365