2010-11-11 88 views
10

簡單的問題。我嘗試過在Google上搜索,經過大約6次搜索後,我認爲這會更快。什麼是SQL Int(N)的大小?

SQL中的整數有多大?

// table creation statement. 
intcolumn INT(N) NOT NULL, 
// more table creation statement. 

INT(N)元素有多大?它的範圍是什麼?是2^N還是N Bytes? (2^8N)?甚至還有一些我不知道的東西?

回答

12

這取決於數據庫。 MySQL有一個extension其中INT(N)表示一個INT,顯示寬度爲4位十進制數字。這些信息保存在元數據中。 INT本身仍然是4個字節,並且值10000和更大的值可以被存儲(並且可能被顯示,但這取決於應用程序如何使用結果集)。

+0

嘿,謝謝你的朋友!這是我的問題:) – Michael 2010-11-11 04:05:14

+0

注意這與VARCHAR(n)類型非常不同,其中n在這種情況下是允許的最大存儲字符。請參閱{http://stackoverflow.com/questions/5634104/what-is-the-size-of-column-of-int11-in-mysql-in-bytes,http://stackoverflow.com/a/1262249/ 1357094} – cellepo 2016-10-03 19:51:51

-1

這完全取決於您正在使用的數據庫引擎。但我相信大多數引擎認爲INT/INTEGER類型爲32位。大多數引擎會讓你指定簽名。

實際的N只指定位數。所以一個無符號的INT(3)的範圍是0-999。

+1

該數字不表示整數的長度。大整數仍然可以存儲在「int(3)」列中 – Luke 2014-09-24 11:01:19