Сохранять и возвращать десятичные дроби с точностью, указанной пользователем в SQL Server - PullRequest
0 голосов
/ 08 января 2010

Сохраняет ли тип данных SQL Server decimal фактическое количество цифр после десятичного числа для каждого значения в столбце?

Например

UPDATE [Mixes] SET [Concentration] = 0.0012500 WHERE [Id] = 1

где

Concentration Decimal(21,11)

Возможно ли получить точное значение «0,0012500», введенное пользователем, или необходимо сохранить фактическое количество десятичных знаков, введенных в другом столбце?

Ответы [ 3 ]

2 голосов
/ 08 января 2010

Десятичный тип хранит числовое значение с указанной точностью. Не хранит форматирование. Это похоже на сохранение целого числа с ведущими нулями. Ведущие нули не меняют числовое значение. Если нужен введенный пользователем формат, вам нужно сохранить его отдельно или сохранить номер как varchar.

1 голос
/ 08 января 2010

Вы не сможете определить разницу между 0,0012500 и 0,00125 после того, как она была введена, просто используя десятичный столбец. Вам нужно будет сохранить в текстовой форме или проанализировать информацию о том, как она была введена, и сохранить эту информацию.

1 голос
/ 08 января 2010

Вы должны хранить количество десятичных знаков отдельно.

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