De fylder forskelligt, og de har forskellige intervaller af acceptable værdier.
Her er størrelserne og intervallerne af værdier for SQL Server , andre RDBMS'er har lignende dokumentation:
Det viser sig, at de alle bruger den samme specifikation (med et par mindre undtagelser nævnt nedenfor), men understøtter forskellige kombinationer af disse typer (Oracle ikke inkluderet, fordi det kun har et NUMBER
datatype, se ovenstående link):
| SQL Server MySQL Postgres DB2
---------------------------------------------------
tinyint | X X
smallint | X X X X
mediumint | X
int/integer | X X X X
bigint | X X X X
Og de understøtter de samme værdiområder (med én undtagelse nedenfor) og har alle de samme lagerkrav:
| Bytes Range (signed) Range (unsigned)
--------------------------------------------------------------------------------------------
tinyint | 1 byte -128 to 127 0 to 255
smallint | 2 bytes -32768 to 32767 0 to 65535
mediumint | 3 bytes -8388608 to 8388607 0 to 16777215
int/integer | 4 bytes -2147483648 to 2147483647 0 to 4294967295
bigint | 8 bytes -9223372036854775808 to 9223372036854775807 0 to 18446744073709551615
De "usignerede" typer er kun tilgængelige i MySQL, og resten bruger bare de signerede områder, med en bemærkelsesværdig undtagelse:tinyint
i SQL Server er usigneret og har et værdiområde på 0 til 255