SQL Server数据类型int、bigint、smallint、tinyint对比表

时间:2024-03-03 16:05:44

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

1、字符与字节:

ASCII码:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值-128,最大值127。如一个ASCII码就是一个字节。
UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。中文标点占三个字节,英文标点占一个字节。
Unicode编码:一个英文等于两个字节,一个中文(含繁体)等于两个字节。中文标点占两个字节,英文标点占两个字节。
字节是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于八位,也表示一些计算机编程语言中的数据类型和语言字符。

2、说明:

int 数据类型是 SQL Server 2005 中的主要整数数据类型。bigint 数据类型用于整数值可能超过 int 数据类型支持范围的情况。

在数据类型优先次序表中,bigint 介于 smallmoney 和 int 之间。

只有当参数表达式为 bigint 数据类型时,函数才返回 bigint。SQL Server 不会自动将其他整数数据类型(tinyint、smallint 和 int)提升为 bigint。