有人可以解释以下查询的结果吗?我认为这是SQL Server 2014中的错误。
DECLARE @x float
SET @x=58.415
SELECT ROUND(58.415,2), ROUND(@x,2)
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9KWHV0VC5wbmcifQ==” alt =“在此处输入图像描述”>“ >>
有人可以解释以下查询的结果吗?我认为这是SQL Server 2014中的错误。DECLARE @x float SET @ x = 58.415 SELECT ROUND(58.415,2),ROUND(@ x,2)
您所看到的解释是,浮点算术在SQL Server(或任何其他数据库或编程语言)中不正确。这是实际发生的情况,其中显示了“真实”值以供说明:
因为第一个参数存储为十进制(5,3):