29

Simple question. I have tried searching on Google and after about 6 searches, I figured it would be faster here.

How big is an int in SQL?

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

How big is that INT(N) element? What's its range? Is it 2^N or is it N Bytes long? (2 ^ 8N)? Or even something else I have no idea about?

Vukašin Manojlović
  • 3,557
  • 3
  • 18
  • 31
ThePrimeagen
  • 4,224
  • 4
  • 28
  • 43

1 Answers1

26

It depends on the database. MySQL has an extension where INT(N) means an INT with a display width of 4 decimal digits. This information is maintained in the metadata.

The INT itself is still 4 bytes, and values 10000 and greater can be stored (and probably displayed, but this depends how the application uses the result set).

Avatar
  • 12,849
  • 8
  • 110
  • 182
Matthew Flaschen
  • 268,153
  • 48
  • 509
  • 534
  • 1
    Note this quite different from a type like VARCHAR(n), where n in that case is the max allowed stored chars. See {http://stackoverflow.com/questions/5634104/what-is-the-size-of-column-of-int11-in-mysql-in-bytes, http://stackoverflow.com/a/1262249/1357094} – cellepo Oct 03 '16 at 19:51