Числовые типы данных

Числа могут храниться в целом и десятичном форматах, а также в формате с плавающей запятой. Особенностью десятичных чисел является то, что они хранятся в целочисленном виде с указанием точного количества цифр после запятой. Числа с плавающей запятой вычисляются приблизительно, с той или иной точностью.

Целые числа
В представленной ниже таблице перечислены целочисленные типы данных и соответствующие им диапазоны значений. Числа, выходящие за пределы диапазона, преобразуются в минимальное или максимальное допустимое значение.

Тип Знаковый диапазон Беззнаковый диапазон
(Только в в MySQL)
TINYINT [(M)] -27 ÷ 27-1 (MySQL)
0 ÷ 28-1 (MS SQL)
0 ÷ 28-1
SMALLINT[(M)] -215 ÷ 215-1 0 ÷ 216-1
INT[(M)] -231 ÷ 231-1 0 ÷ 233-1
BIGINT[(M)] -263 ÷ 263-1 0 ÷ 264-1

Синтаксис спецификации целочисленного типа таков:

col_type ([M]) [UNSIGNED] [ZEROFILL] (Атрибуты UNSIGNED, ZEROFILL поддерживаются только в MySQL)

Как минимум, нужно указать имя типа. Следом за ним в скобках приводится требуемая размерность. (Как правило, размерность не играет никакой роли для числовых столбцов. Более крупные значения принимаются и отображаются правильно.)

Атрибут UNSIGNED обозначает беззнаковое число и исключает появление отрицательных величин. Начальным значением для такого типа будет значение 0.

Атрибут ZEROFILL говорит о том, что в случае необходимости число должно быть дополнено ведущими нулями до нужной размерности. Например, для столбца, объявленного как INT(5) ZEROFILL, величина 4 извлекается как 00004.

Числа с плавающей запятой
Числа с плавающей запятой представляют собой приблизительные значения. Они подходят для столбцов, где хранятся дробные величины или числа, выходящие за пределы самого крупного целочисленного диапазона (BIGINT). Имеются два типа чисел с плавающей запятой: числа одинарной точности (FLOAT) и числа двойной точности (DOUBLE PRECISION, REAL).

Синтаксис спецификации типа с плавающей запятой таков:

col_type ([M]) [ZEROFILL] (Атрибут ZEROFILL поддерживаются только в MySQL)

Значение параметра M (размерность) должно лежать в пределах от 1 до 53. Значением по умолчанию является 53.

Десятичные числа
Десятичные числа имеют фиксированное количество цифр после запятой. Эти цифры вычисляются точно, в отличие от чисел с плавающей запятой и в действительности значения данного типа хранятся в виде строк и при этом для каждого десятичного знака используется один символ.

Синтаксис спецификации для десятичного типа таков:

DECIMAL[(M[,D])] NUMERIC [(M[,D])]

Атрибут M определяет размерность, а атрибут D - точность (количество цифр после запятой). Если атрибут D равен 0, величины будут представлены без десятичного знака, т.е. без дробной части. Максимальное значение атрибута М равно 65. В случае размерности 6 и точности 2 допустимый диапазон значений будет таким: -9999,99 — 9999,99.