Те заемат различно количество място и имат различни диапазони на приемливи стойности.
Ето размерите и диапазоните от стойности за SQL Server , други RDBMS имат подобна документация:
Оказва се, че всички те използват една и съща спецификация (с няколко незначителни изключения, отбелязани по-долу), но поддържат различни комбинации от тези типове (Oracle не е включен, защото има само NUMBER
тип данни, вижте връзката по-горе):
И те поддържат едни и същи диапазони от стойности (с едно изключение по-долу) и всички имат едни и същи изисквания за съхранение:
<предварителен код> | Обхват на байтове (подписан) Диапазон (неподписан)------------------------------------------------ -------------------------------------------------- -tinyint | 1 байт -128 до 127 0 до 255smallint | 2 байта -32768 до 32767 0 до 65535mediumint | 3 байта -8388608 до 8388607 0 до 16777215int/цяло число | 4 байта -2147483648 до 2147483647 0 до 4294967295bigint | 8 байта -9223372036854775808 до 9223372036854775807 0 до 18446744073709551615
Типовете "неподписани" са налични само в MySQL, а останалите просто използват подписаните диапазони, с едно забележително изключение:tinyint
в SQL Server е неподписана и има диапазон от стойности от 0 до 255