bigint數(shù)據(jù)類型與int數(shù)據(jù)類型(摘自ZDNet)
盡管int依然是SQL Server 2000中最主要的整數(shù)數(shù)據(jù)類型,但是SQL Server 2000還是新增加了整數(shù)數(shù)據(jù)類型bigint,它應(yīng)用于整數(shù)超過int數(shù)據(jù)范圍的場合。
int數(shù)據(jù)類型所表示的數(shù)值范圍從-2^31到2^31-1,也就是說,你可以用int數(shù)據(jù)類型來表達(dá)-2,147,483,648到2,147,483,647(即大約正負(fù)二十億)之間的整數(shù)。一個(gè)int型占用四個(gè)字節(jié)的存儲空間。
而bigint可以精確的表示從-2^63到2^63-1(即從-9,223,372,036,854,775,808到 9,223,372,036,854,775,807)之間的整數(shù),它占用了八個(gè)字節(jié)的存儲空間。
當(dāng)你使用bigint時(shí),需要留意下面幾點(diǎn):
- 在數(shù)據(jù)類型優(yōu)先表中,bigint數(shù)據(jù)類型位于int之上、smallmoney之下。
- SQL Server不能自動(dòng)的把int型數(shù)據(jù)轉(zhuǎn)換成bigint型。
- 如果函數(shù)的參數(shù)表達(dá)式是一個(gè)bigint類型時(shí),函數(shù)只能返回bigint類型的數(shù)據(jù)。使用bigint數(shù)據(jù)類型的函數(shù)有AVG、CEILING、FLOOR、MAX、MIN、ROUND以及SUM等等。
- 可以在指定了整型數(shù)據(jù)的所有語法位置使用bigint數(shù)據(jù)類型:ALTER PROCEDURE、ALTER TABLE、CREATE PROCEDURE、CREATE TABLE以及 DECLARE變量。
- 你可以在SQL Server目錄組件(catalog components)得到bigint欄的信息。
你可能會(huì)對為什么任何人都有可能需要使用bigint數(shù)據(jù)類型這一問題感到疑惑。實(shí)際上,這個(gè)問題并不難以回答,例如當(dāng)你的數(shù)據(jù)庫需要進(jìn)行大數(shù)據(jù)運(yùn)算時(shí)(如信用卡公司常常會(huì)碰到這種情況),你就需要使用bigint數(shù)據(jù)類型