Числовые типы данных
Числа могут храниться в целом и десятичном форматах, а также в формате с плавающей запятой. Особенностью десятичных чисел является то, что они хранятся в целочисленном виде с указанием точного количества цифр после запятой. Числа с плавающей запятой вычисляются приблизительно, с той или иной точностью.
Целые числа
В представленной ниже таблице перечислены целочисленные типы данных и
соответствующие им диапазоны значений. Числа, выходящие за пределы
диапазона, преобразуются в минимальное или максимальное допустимое
значение.
Тип | Знаковый диапазон |
Беззнаковый диапазон (Только в в 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.