decimal 可以用在指定几个位数比如 123.456, decimal(3,3), 用这类型计算比较准确. 默认情况下,将数字转换为较低精度和小数位数的 decimal 或 numeric 值时,SQL Server 会进行舍入 declare @number decimal(5,2) = 123.456; result = 123.46 remark : decimal(p,s), p将减去s, 结果是精度的字数 float 可以默认是15个字数, 如果超出的了字数会舍入, 比如 1.99…