2010-01-08 6 views
0

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

Например

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

где

Concentration Decimal(21,11) 

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

ответ

2

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

1

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

1

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