int、bigint、smallint 和 tinyint
使用整數資料的精确數字資料類型。
bigint
從 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型資料(所有數字)。存儲大小為 8 個位元組。
int
從 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型資料(所有數字)。存儲大小為 4 個位元組。int 的 SQL-92 同義字為 integer。
smallint
從 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型資料。存儲大小為 2 個位元組。
tinyint
從 0 到 255 的整型資料。存儲大小為 1 位元組。
注釋
在支援整數值的地方支援 bigint 資料類型。但是,bigint 用于某些特殊的情況,當整數值超過 int 資料類型支援的範圍時,就可以采用 bigint。在 SQL Server 中,int 資料類型是主要的整數資料類型。
1. char 固定長度,最長n個字元。 2. varchar 最大長度為n的可變字元串。 (n為某一整數,不同資料庫,最大長度n不同) char和varchar差別: varchar必char節省空間,但在效率上比char稍微差一些。 說varchar比char節省空間,是因為varchar是可變字元串,比如:用varchar(5)存儲字元串“abc”,隻占用3個位元組的存儲空間,而用char(5)存儲,則占用5個位元組(“abc ”)。 說varchar比char效率稍差,是因為,當修改varchar資料時,可能因為資料長度不同,導緻資料遷移(即:多餘I/O)。其中,oracle對此多餘I/O描述的表達是:“行遷移”(Row Migration)。
在資料類型優先次序表中,bigint 位于 smallmoney 和 int 之間。
隻有當參數表達式是 bigint 資料類型時,函數才傳回 bigint。SQL Server 不會自動将其它整數資料類型(tinyint、smallint 和 int)提升為 bigint。
數字占1個字元
英文占1個字元
中文字元占2個字元
轉載于:https://www.cnblogs.com/jacko/p/4878346.html