2014-02-05 3 views
1

Я определяю одну из моей колонки как double (16,2). Здесь 16 не фиксировано. Но 2 фиксировано. Хотя длина отображения (16) будет варьироваться в зависимости от расчета. Поэтому я хочу сделать его переменной длиной.двойной тип данных в mysql

Теперь мой вопрос: есть ли способ определить только число с плавающей запятой no (например, 2 из моего примера) и длину отображения (16) в качестве переменной. Потому что я не хочу занимать лишнее пространство.

+0

Я думаю, что вы путаете хранения данных с отображением данных – Strawberry

+0

@Strawberry да может быть я «Я смущаюсь. На самом деле не найти способ решить эту проблему. – ripa

+0

Кроме того, «2» в вашем определении не является «плавающей точкой». «16» - это количество цифр в целом («точность»), а «2» - количество цифр справа от десятичной точки («шкала»). – Strawberry

ответ

2

Типы FLOAT и DOUBLE представляют собой приблизительные значения цифровых данных.

MySQL использует четыре байта для значений с одной точностью и восемь байтов для значений двойной точности.

MySQL также поддерживает эту опциональную спецификацию точности, но значение точности используется только для определения размера хранилища. Точность от 0 до 23 приводит к 4-байтовой колонке FLOAT с одной точностью. Точность от 24 до 53 приводит к 8-байтовой колонке с двойной точностью DOUBLE.

MySQL допускает нестандартный синтаксис: FLOAT (M, D) или REAL (M, D) или DOUBLE PRECISION (M, D). Здесь «(M, D)» означает, что значения могут быть сохранены с суммой до M цифр, из которых D цифр могут быть после десятичной точки.

ПОПЛАВКОВЫЕ:

Небольшая (одинарная точность) число с плавающей точкой. Допустимые значения: -3.402823466E + 38 до -1.175494351E-38, 0 и 1.175494351E-38 до 3.402823466E + 38. Это теоретические ограничения, основанные на стандарте IEEE. Фактический диапазон может быть немного меньше в зависимости от вашего оборудования или операционной системы. Число с плавающей запятой с одинарной точностью точнее примерно 7 знаков после запятой. Это не является обязательным, и будет по умолчанию 10,2, (Если М и D опущены, значения сохраняются в пределах, допускаемых аппаратными средствами.)

ДВОЙНОЙ:

М общее число цифр и D - количество цифр после десятичной точки. Если M и D опущены, значения сохраняются в пределах, разрешенных аппаратным обеспечением. Число с плавающей запятой с двойной точностью составляет приблизительно 15 знаков после запятой. Это не требуется и будет по умолчанию 16,4, где 4 - число десятичных знаков. (Если M и D опущены, значения сохраняются в пределах, допускаемых оборудованием.)

Для более http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html

Смежные вопросы