|
|
|
|
|
для: cheops
(10.03.2006 в 11:45)
| | Запас имеется, конечно. Да они (авторы мануала) и не скрывают:
Типы данных NUMERIC и DECIMAL реализованы в MySQL как один и тот же тип - это разрешается стандартом SQL92. Они используются для величин, для которых важно сохранить повышенную точность, например для денежных данных. Требуемая точность данных и масштаб могут задаваться (и обычно задаются) при объявлении столбца данных одного из этих типов, например:
salary DECIMAL(5,2)
В этом примере - 5 (точность) представляет собой общее количество значащих десятичных знаков, с которыми будет храниться данная величина, а цифра 2 (масштаб) задает количество десятичных знаков после запятой. Следовательно, в этом случае интервал величин, которые могут храниться в столбце salary, составляет от -99,99 до 99,99 (в действительности для данного столбца MySQL обеспечивает возможность хранения чисел вплоть до 999,99, поскольку можно не хранить знак для положительных чисел). | |
|
|
|
|
|
|
|
для: Trianon
(10.03.2006 в 11:37)
| | Вообще тоже так всегда считал - сейчас проверил - криво как-то это условие выполняется... толи запас имеется, толи действительно первая цифра под дробную часть только отводится, а скорее всего просто при выходе за границы числа результат "не предсказуем", как часто любят писать в мануале MySQL. | |
|
|
|
|
|
|
|
для: Duran
(10.03.2006 в 11:28)
| | В мануале есть всё. В нем, в частности, можно прочесть, что первое число в спецификации типа объявляет общее количество цифр, а вовсе не количество цифр до десятичной точки. | |
|
|
|
|
|
|
|
для: Duran
(10.03.2006 в 11:28)
| | Да, один знак отводится под минус. | |
|
|
|
|
|
|
|
для: Shorr Kan
(10.03.2006 в 11:25)
| | Это понятно.
Почему при аргументе 9 вводится тока 8 знакомест ? или одна позиция на знак +/- ?
В мануале нифига | |
|
|
|
|
|
|
|
для: Duran
(10.03.2006 в 11:22)
| | Эээ.... формат изменить? decimal(15,2) , например | |
|
|
|
|
|
|
| Поле имеет формат decimal(9,2) т.е. максимальное число ввода 999 999 999,99
Но при вводе скажем 200 000 000, в базе оказывается только 99 999 999,99.
Как победить ? | |
|
|
|
|