简单的问题。我尝试过在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)?甚至还有一些我不知道的东西?
简单的问题。我尝试过在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)?甚至还有一些我不知道的东西?
这取决于数据库。 MySQL有一个extension其中INT(N)表示一个INT,显示宽度为4位十进制数字。这些信息保存在元数据中。 INT本身仍然是4个字节,并且值10000和更大的值可以被存储(并且可能被显示,但这取决于应用程序如何使用结果集)。
这完全取决于您正在使用的数据库引擎。但我相信大多数引擎认为INT/INTEGER类型为32位。大多数引擎会让你指定签名。
实际的N只指定位数。所以一个无符号的INT(3)的范围是0-999。
该数字不表示整数的长度。大整数仍然可以存储在“int(3)”列中 – Luke 2014-09-24 11:01:19
嘿,谢谢你的朋友!这是我的问题:) – Michael 2010-11-11 04:05:14
注意这与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