Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: какой тип данных выбрать для денег ?
 
 автор: asker   (14.06.2009 в 15:42)   письмо автору
 
 

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

  Ответить  
 
 автор: ols   (14.06.2009 в 19:47)   письмо автору
 
   для: asker   (14.06.2009 в 15:42)
 

decimal - формат предназначен собственно для этого

  Ответить  
 
 автор: asker   (14.06.2009 в 21:12)   письмо автору
 
   для: ols   (14.06.2009 в 19:47)
 

а в чем будет отличие float(5,2) от decimal(5,2) ???

  Ответить  
 
 автор: cheops   (15.06.2009 в 02:22)   письмо автору
 
   для: asker   (14.06.2009 в 21:12)
 

decimal - это строка, в отличие от float, который является представлением числа, поэтому в decimal исключена возможность накопления ошибок вычисления, хотя с двумя знаками после запятой разницы вы незаметите, зато если не увеличите цифру 5, быстро убедитесь в том, что больше 1000 рублей сумму занести не удастся. Дело в том, что цифра 5 отводится подо все число, за вычитом двух знаков после запятой у вас остается 3 числа. Поэтому если вы в decimal(5,2) положите число 10000, вместо него запишется - 999.99.

  Ответить  
 
 автор: ronin80   (15.06.2009 в 09:49)   письмо автору
 
   для: cheops   (15.06.2009 в 02:22)
 

хотя с двумя знаками после запятой разницы вы незаметите

как раз с двумя то знаками проблемы и были - ошибка округления

  Ответить  
 
 автор: Trianon   (15.06.2009 в 10:38)   письмо автору
 
   для: cheops   (15.06.2009 в 02:22)
 

>decimal - это строка, в отличие от float,

ну несовсем так...
decimal в MySQL скорее один из вариантов двоично-десятичного кода...

  Ответить  
 
 автор: cheops   (15.06.2009 в 14:35)   письмо автору
 
   для: Trianon   (15.06.2009 в 10:38)
 

Согласен, "строка" - это не совсем корректно, особенно в контексте СУБД.

  Ответить  
 
 автор: Trianon   (15.06.2009 в 10:36)   письмо автору
 
   для: asker   (14.06.2009 в 15:42)
 

BIGINT :)

  Ответить  
 
 автор: Valick   (15.06.2009 в 10:39)   письмо автору
 
   для: Trianon   (15.06.2009 в 10:36)
 

ха-ха-ха)))

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования