2010-11-11 11 views
10

Domanda semplice. Ho provato a cercare su Google e dopo circa 6 ricerche, ho pensato che sarebbe stato più veloce qui.Qual è la dimensione di un SQL Int (N)?

Quanto è grande un int in SQL?

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

Quanto è grande l'elemento INT(N)? Qual è il suo raggio d'azione? È 2^N o è lungo N byte? (2^8 N)? O anche qualcos'altro di cui non ho idea?

risposta

12

Dipende dal database. MySQL ha un extension dove INT (N) significa un INT con una larghezza di visualizzazione di 4 cifre decimali. Questa informazione viene mantenuta nei metadati. L'INT stesso è ancora 4 byte, e i valori 10000 e superiori possono essere memorizzati (e probabilmente visualizzati, ma questo dipende da come l'applicazione utilizza il set di risultati).

+0

Hey grazie amico! Questa è la mia domanda :) – Michael

+0

Nota questo molto diverso da un tipo come VARCHAR (n), dove n in questo caso è il massimo consentito caratteri memorizzati. Vedi {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

Dipende interamente dal motore di database che si sta utilizzando. Ma credo che molti motori considerino i tipi INT/INTEGER come 32-bit. La maggior parte dei motori ti consente di specificare la firma.

L'N effettivo specifica solo il numero di cifre. Quindi un INT unsigned (3) ha un range di 0-999.

+1

Il numero non denota la lunghezza del numero intero. I grandi numeri interi possono ancora essere memorizzati in una colonna 'int (3)' – Luke

Problemi correlati