Преобразование из DOUBLE (15,2) в DECIMAL (15,2) - PullRequest
3 голосов
/ 06 августа 2011

Произойдет ли потеря данных при преобразовании между двойным и десятичным в mysql?

Ответы [ 3 ]

2 голосов
/ 06 августа 2011

Двойные числа имеют ~ 16 десятичных знаков точности.Таким образом, ответ - нет, поскольку оба типа объявлены с точностью до 15 десятичных знаков.(Если бы типы имели 16 цифр, это зависело бы от сохраненного числа, поскольку точность двойных чисел фактически составляет от 15 до 16 цифр.)

0 голосов
/ 06 августа 2011

Число с плавающей точкой двойной точности с точностью до 15 десятичных знаков.DECIMAL имеет точность 65 цифр.Вы не потеряете данные при конвертации из DOUBLE в DECIMAL.Как говорит Брэд, ранее максимальный диапазон значений DECIMAL был таким же, как и для DOUBLE. Обзор числовых типов

Если вы выполняете числовые вычисления для ваших данных и вам нужно более 15 десятичных знаков, я бы посоветовал вам потратить время и преобразовать ваши столбцы в DECIMAL, поскольку DOUBLE сохраняет приближениестоимости, а не фактической стоимости.

0 голосов
/ 06 августа 2011

Максимальное количество цифр для DECIMAL составляет 65 (64 от MySQL 5.0.3 до 5.0.5). До MySQL 5.0.3 максимальный диапазон значений DECIMAL такой же, как для DOUBLE, но фактический диапазон для данного столбца DECIMAL может быть ограничен точностью или масштабом для данного столбца. Руководство

Я бы догадался, нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...