SQL集浮点精度
对于正在转换为浮点数的SQL int,如何设置浮点数的精度 这是我要截断为小数点后两位或三位的选择:SQL集浮点精度,sql,floating-point,precision,truncate,Sql,Floating Point,Precision,Truncate,对于正在转换为浮点数的SQL int,如何设置浮点数的精度 这是我要截断为小数点后两位或三位的选择: AVG(Cast(e.employee_level as Float))avg_level, 谢谢 在TSQL中,可以为24或53指定两种不同的大小。这将分别将精度设置为7或15位 如果您只想将其截断到设定的小数位数,则可以使用,即: 一般来说,不能为浮点数指定小数点后的位数。浮点数据类型存储与任何给定值最接近的浮点近似值。最接近的浮点近似值不太可能具有所需的位数。虽然您可能可以抑制第三个数字
AVG(Cast(e.employee_level as Float))avg_level,
谢谢 在TSQL中,可以为24或53指定两种不同的大小。这将分别将精度设置为7或15位 如果您只想将其截断到设定的小数位数,则可以使用,即:
一般来说,不能为浮点数指定小数点后的位数。浮点数据类型存储与任何给定值最接近的浮点近似值。最接近的浮点近似值不太可能具有所需的位数。虽然您可能可以抑制第三个数字之后的每个数字,但这只会更改值的外观,而不会更改值本身 整数是另一回事。整数——存储、转换或转换为浮点数据类型——将在大范围内精确存储。浮点数据类型不必为整数存储任何分数单位 不过,我建议你最好的做法是
- 如果不需要小数单位,请避免将整数强制转换为浮点,或者
- 如果需要小数单位,则将整数强制转换为十进制或数字,或者
- 完全在应用程序代码中处理显示问题
ROUND(AVG(CAST(e.employee_level as float)), 3)