2012-07-09 21 views
1

所以我发现长柱说,“长度”为4,精度为10:为什么SQL Server中的长度列有些混淆?

Col. name: SurveyNumber 
type : int 
computed: no 
Length: 4 
Precision: 10 

而且它有像它19350号。为什么长度叫做4,它有5位数字:?

+2

一个'int'为4个字节。 – 2012-07-09 16:00:30

+1

Ints使用4个字节 – 2012-07-09 16:00:49

回答

3

4个字节!

它不是4位数。

4字节= 4 * 8 = 32位。

,因此它可以容纳2^32-1的值数

(如果你有一个负数所以其半值 - 零对称的(-1) - 导致零也算)

分钟= 2,147,483,648最大= 2147483647

2^32 = 4294967296 

divide by 2: = 2147483648 

now step up 2^32-1 times 

so you are here at : 2,147,483,647 
+1

ummm。 4 * 8 = 32,取决于签名,取值范围为0 - >〜40亿,或者 - 20亿 - > + 20亿(大约)。 – 2012-07-09 16:01:38

3

的int具有为4的长度,因为它需要4个字节(32个比特)来存储的值。

4个字节可以存储从-2,147,483,648到2,147,483,647的数字,因此是10位数字的精度。

3

所有信息均可在MSDN上获得。

Precision, Scale, and Length (Transact-SQL)

精密是在若干数字的数值。比例是数字中小数点右侧的位数。例如,数123.45具有5精度和2.

长度的用于数字数据类型的比例是用于 店数的字节数。字符串或Unicode数据类型的长度 是字符数。二进制,varbinary和 图像数据类型的长度是字节数。例如,int数据类型 可以容纳10位数字,被存储在4个字节