当你的才华不能撑起你的野心时,就是你该选择学习的时候了!

sql server decimal

 

 

decimal不存在精度损失,数据类型decimal(p,s) 需要分别指定小数的最大位数(p)和小数位的数量(s):

  • p (precision) :指定小数的最大位数,小数点的左侧和右侧的数字的总数量不能超过p,p的取值范围是从1到38,默认值为18。
  • s (scale):指定在小数点右侧的小数位数,p-s是小数点左边的最大位数。s必须是从0到p的值,只有在指定了精度的情况下才能指定s,s的默认值是0,因此,0 <= s <= p。 

Precision

Storage bytes

1 - 9

5

10-19

9

20-28

13

29-38

17

p 和 s 必须遵守规则:0 <= s <= p <= 38,decimal(p,s) 能够表示的有效值是从 - 10^38 +1  到 10^38 - 1。

decimal 数据类型的最大精度为 38,这意味着,decimal 数据类型最多可以存储 38位数字,所有这些数字均可位于小数点后面。decimal 数据类型存储精确的数字表示形式,没有近似值。

 

 

参考

  SQL Server 小数类型(float 和 decimal)

posted @ 2021-01-07 11:14  hofmann  阅读(970)  评论(0编辑  收藏  举报