使用Sql Server 2008计算时的数据类型转换问题?

使用Sql Server 2008计算时的数据类型转换问题?,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,结果是 select (1/4) 我需要的实际结果是。025。我试着这样做 0 我得到的实际结果是 select (1/4.0) 我有更多的计算功能,有时结果是不正确的,因为这个问题。请建议任何永久解决这个问题 对于2位精度,请尝试以下操作: 0.2500000 对于3位精度: ROUND(AVG(CAST((1/4.0) as float)), 2) 等等。您也可以使用 ROUND(AVG(CAST((1/4.0) as float)), 3) 但是我有很多函数,所以对我来说很难。

结果是

select (1/4)
我需要的实际结果是。025。我试着这样做

0
我得到的实际结果是

select (1/4.0)

我有更多的计算功能,有时结果是不正确的,因为这个问题。请建议任何永久解决这个问题

对于2位精度,请尝试以下操作:

0.2500000
对于3位精度:

ROUND(AVG(CAST((1/4.0) as float)), 2)
等等。

您也可以使用

ROUND(AVG(CAST((1/4.0) as float)), 3)

但是我有很多函数,所以对我来说很难。否则还有其他选择吗?你说的很多函数是什么意思?这是获得浮点2点精度的正确方法…是的,您必须了解在计算中使用的值的数据类型。我不认为有一个技术解决方案,这只是一个现实。
select cast(1/4.0 as numeric(3,2))