31

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,717
  • 3
  • 19
  • 31
ThePrimeagen
  • 4,462
  • 4
  • 31
  • 44

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
  • 14,622
  • 9
  • 119
  • 198
Matthew Flaschen
  • 278,309
  • 50
  • 514
  • 539
  • 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