sql server 2008 r2中的数字(18,0)是什么

Agn*_*lec 39 sql sql-server sql-server-2008-r2

我从这个数据类型中找到了一个包含此列的表

numeric(18, 0)
Run Code Online (Sandbox Code Playgroud)

那是什么?为什么018意思

我已经检查过这个问题SQL Server中的数字,浮点数和小数之间的区别但是无法理解它.

我可以在该列中添加(-10)吗?

我可以在该列中添加所有负数吗?

我可以在该列中添加任何正数吗?

更新1

这是我在该列中找到的数据样本

100
263
13
2
9
4
3
3
28
15
33
16
135
50
64
60
100
500
150
Run Code Online (Sandbox Code Playgroud)

更新2是否可以拥有-+

chr*_*dev 66

第一个值是精度,第二个是刻度,因此18,0基本上是18位数,小数位后面有0位数.18,2例如,如果你有18个数字,其中两个将在小数点后...

例如18,2:1234567890123456.12

和之间没有功能差异,其他名称和我认为我记得数字首先出现,就像在早期版本中一样.numericdecimal

并回答说," 我可以在该栏中添加(-10)吗? " - 是的,你可以.


Dan*_*Dan 19

这个页面很好地解释了它.

作为numeric可存储在该字段中的允许范围为-10^38 +110^38 - 1.

括号中的第一个数字是将要存储的总位数.计算小数的两边.在这种情况下18.所以你可以在十进制之后的十进制18位之前有一个18位数的数字或两者之间的某种组合.

括号中的第二个数字是小数点后要存储的总位数.因为在这种情况下,数字是0,这基本上意味着只有整数可以存储在该字段中.

这样可以存储在这一特定领域的范围是-(10^18 - 1)(10^18 - 1)

-999999999999999999999999999999999999 整数只