2010-11-11 12 views
10

Proste pytanie. Próbowałem wyszukiwania w Google i po około 6 wyszukiwania, pomyślałem, że będzie tu szybciej.Co to jest rozmiar SQL Intr (N)?

Jak duży jest int w SQL?

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

Jak duży jest ten element INT(N)? Jaki jest jego zasięg? Czy to 2^N czy jest to N Bajtów? (2^8N)? A może jeszcze coś, o czym nie mam pojęcia?

Odpowiedz

12

To zależy od bazy danych. MySQL ma extension, gdzie INT (N) oznacza INT z szerokością wyświetlania 4 cyfr dziesiętnych. Ta informacja jest przechowywana w metadanych. Sama INT jest nadal 4 bajty, a wartości 10000 i większe mogą być przechowywane (i prawdopodobnie wyświetlane, ale zależy to od tego, jak aplikacja używa zestawu wyników).

+0

Hej, dzięki przyjacielu! To jest moje pytanie :) – Michael

+0

Zauważ, że to coś zupełnie innego od typu takiego jak VARCHAR (n), gdzie n w tym przypadku jest dopuszczalnym maks. Zapisanymi znakami. Zobacz {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

Wszystko zależy od używanego silnika bazy danych. Wierzę jednak, że większość silników uważa typy INT/INTEGER za 32-bitowe. Większość silników pozwoli ci określić sygnaturę.

Rzeczywiste N określa liczbę cyfr. Tak więc niepodpisana INT (3) ma zakres od 0 do 999.

+1

Liczba nie oznacza długości liczby całkowitej. Duże liczby całkowite mogą być nadal przechowywane w kolumnie 'int (3)' – Luke