Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > Десятичные числа в MySQL


Автор: Рейкин 30.8.2005, 21:38
FLOAT Число с плавающей точкой небольшой точности.
DOUBLE Число с плавающей точкой двойной точности.
REAL Синоним для DOUBLE.
DECIMAL Дробное число, хранящееся в виде строки.
NUMERIC Синоним для DECIMAL.

Правильно ли будет хранить десятичные числа в базе, используя DECIMAL ? Или я ошибаюсь?

Спасибо!

Автор: IZ@TOP 30.8.2005, 21:43
По моему будет лучше при рассчетах (в MySql) использовть тип поля double или float. Хотя это конечно зависит от тех данных которые ты там хранишь. например для цен в интернет-магазине, как мне кажется, будет достаточно и float.

Автор: Wowa 30.8.2005, 23:46
Цитата(IZ @ 30.8.2005, 20:43)
например для цен в интернет-магазине, как мне кажется, будет достаточно и float.

я для этого DECIMAL использую

Автор: Ignat 31.8.2005, 08:36
А какие порядки/пределы.
Добавлено @ 08:36
Нужно ли в будущем конвертить в другую базу?

Автор: Рейкин 20.9.2005, 09:14
Спасибо.

Это для статистики. Вычисляется сред. коэфф. участника и записывается.

Мне нужно 3 знака послезапятой - как это достигается Dacimal (3) ?

Автор: Wowa 20.9.2005, 12:14
decimal(7,3)

Автор: Bikutoru 20.9.2005, 13:37
DECIMAL (NUMERIC) имеют внутреннее текстовое представление. Его объём равен число знаков в целой части + число знаков в дробной + 1 (для точки). Это может быть больше чем память, требуемая для float, да и расчеты медленнее идти будут.
Пользуйтесь float(7,3) - внешне разницы не будет заметно.

Автор: Рейкин 21.9.2005, 05:13
Bikutoru
Wowa

Спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)