sqlserver 改变decimal 精度

遇到需要修改精度的业务场景:

可能是数据库存的精度和小数位太多,需要减少:

比较全能的CAST转换:

CAST(你的字段 AS  DECIMAL(38,10))

CAST(你的字段 AS  DECIMAL(38,2))

在 SQL Server 中,decimal 数据类型通常使用两个参数来定义其精度和小数位数。这两个参数分别是 precision(精度)和 scale(小数位数),它们以如下格式表示:decimal(precision, scale)。

  • Precision(精度):表示数字的总位数,即包括小数点前后的所有数字位数。
  • Scale(小数位数):表示小数点后面的位数,即小数部分的位数。

例如,在 decimal(10, 2) 中:

  • Precision(精度)为 10,表示这个数值可以存储的总位数为 10 位。
  • Scale(小数位数)为 2,表示小数点后面可以存储的位数为 2 位。