SQL Server数据类型int、bigint、smallint、tinyint对比表
数据类型 | 范围 | 存储 |
---|---|---|
bigint |
-2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807) 19位 |
8 字节/64 位bit |
int |
-2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647) 10位 |
4 字节/32 位bit |
smallint |
-2^15 (-32,768) 到 2^15-1 (32,767) 5位 |
2 字节/16 位bit |
tinyint |
0 到 255 3位 |
1 字节/8 位bit |
字符与字节:
ASCII码:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值-128,最大值127。如一个ASCII码就是一个字节。
UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。中文标点占三个字节,英文标点占一个字节。
Unicode编码:一个英文等于两个字节,一个中文(含繁体)等于两个字节。中文标点占两个字节,英文标点占两个字节。
字节是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于八位,也表示一些计算机编程语言中的数据类型和语言字符。
说明:
int 数据类型是 SQL Server 2005 中的主要整数数据类型。bigint 数据类型用于整数值可能超过 int 数据类型支持范围的情况。
在数据类型优先次序表中,bigint 介于 smallmoney 和 int 之间。
只有当参数表达式为 bigint 数据类型时,函数才返回 bigint。SQL Server 不会自动将其他整数数据类型(tinyint、smallint 和 int)提升为 bigint。
来自:刘继先