2010-11-11 5 views
10

Question simple. J'ai essayé de chercher sur Google et après environ 6 recherches, j'ai pensé que ce serait plus rapide ici.Quelle est la taille d'un SQL Int (N)?

Quelle est la taille d'un int dans SQL?

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

Quelle est la taille de cet élément INT(N)? Quelle est sa gamme? Est-ce 2^N ou est-ce que N Bytes est long? (2^8N)? Ou même quelque chose d'autre dont je n'ai aucune idée?

Répondre

12

Cela dépend de la base de données. MySQL a un extension où INT (N) signifie un INT avec une largeur d'affichage de 4 chiffres décimaux. Cette information est conservée dans les métadonnées. L'INT lui-même est toujours à 4 octets, et les valeurs 10000 et supérieures peuvent être stockées (et probablement affichées, mais cela dépend de la façon dont l'application utilise l'ensemble de résultats).

+0

Salut, mon ami! C'est ma question :) – Michael

+0

Notez ceci tout à fait différent d'un type comme VARCHAR (n), où n dans ce cas est le maximum autorisé chars stockés. Voir http://stackoverflow.com/questions/5634104/what-is-the-size-of-column-of-int11-in-mysql-in-bytes, http://stackoverflow.com/a/1262249/ 1357094} – cellepo

-1

Cela dépend entièrement du moteur de base de données que vous utilisez. Mais je crois que la plupart des moteurs considèrent les types INT/INTEGER comme 32 bits. La plupart des moteurs vous permettent de spécifier la signature.

Le N réel spécifie uniquement le nombre de chiffres. Donc, un INT non signé (3) a une plage de 0 à 999.

+1

Le nombre ne désigne pas la longueur de l'entier. Les grands entiers peuvent toujours être stockés dans une colonne 'int (3)' – Luke

Questions connexes