Что делает первый аргумент функции Decimal в MySQL? - PullRequest
3 голосов
/ 29 июля 2010

Использование MySQL 5.0.27

Этот запрос: ВЫБЕРИТЕ CAST ('543,21' КАК ПОКАЗАТЕЛЬ (100,2))

возвращает 543,21

Так же и это: ВЫБЕРИТЕ CAST ('543,21' КАК ПОСЛЕДУЮЩИЙ (2,2))

На самом деле, у меня проблемы с выяснением того, какой эффект имеет параметр. Я использую его для агрегирования числовых значений в столбце varchar (по старым причинам !!) и округления до 2 десятичных знаков.

Должен ли я просто выбрать старшее число?

1 Ответ

5 голосов
/ 29 июля 2010

Описывает, сколько всего цифр поле (или переменная) сможет сохранить. DECIMAL (100,2) - всего 100 цифр, 98 до, 2 после десятичного разделителя DECIMAL (2,2) 2 всего цифры, 0 до, 2 после десятичного разделителя

Объяснено здесь: http://dev.mysql.com/doc/refman/5.1/en/numeric-types.html

[добавлено]

Для округления используйте функцию ROUND ().

...