尽管int依然是SQL Server 2000中最主要的整数数据类型,但是SQL Server 2000还是新增加了整数数据类型bigint,它应用于整数超过int数据范围的场合。
int数据类型所表示的数值范围从-2^31到2^31-1,也就是说,你可以用int数据类型来表达-2,147,483,648到2,147,483,647(即大约正负二十亿)之间的整数。一个int型占用四个字节的存储空间。
而bigint可以精确的表示从-2^63到2^63-1(即从-9,223,372,036,854,775,808到 9,223,372,036,854,775,807)之间的整数,它占用了八个字节的存储空间。
当你使用bigint时,需要留意下面几点:
在数据类型优先表中,bigint数据类型位于int之上、smallmoney之下。
SQL Server不能自动的把int型数据转换成bigint型。
如果函数的参数表达式是一个bigint类型时,函数只能返回bigint类型的数据。使用bigint数据类型的函数有AVG、CEILING、FLOOR、MAX、MIN、ROUND以及SUM等等。
在指定了整型数据的所有语法位置使用bigint数据类型:ALTER PROCEDURE、ALTER TABLE、CREATE PROCEDURE、CREATE TABLE以及 DECLARE变量。
你可以在SQL Server目录组件(catalog components)得到bigint栏的信息。
你可能会对为什么任何人都有可能需要使用bigint数据类型这一问题感到疑惑。实际上,这个问题并不难以回答,例如当你的数据库需要进行大数据运算时(如信用卡公司常常会碰到这种情况),你就需要使用bigint数据类型。