Соответствующий тип данных для содержания процентных значений?

Каков лучший тип данных для содержания процентных значений в пределах от 0,00% к 100,00%?

89
задан Jeff 26 October 2016 в 02:52
поделиться

2 ответа

Предполагая два знака после запятой для ваших процентов, тип данных, который вы используете, зависит от того, как вы планируете хранить ваши проценты. Если вы собираетесь хранить их дробный эквивалент (например, 100,00% хранится как 1,0000), я бы хранил данные в типе данных decimal(5,4) с ограничением CHECK, которое гарантирует, что значения никогда не превысят 1,0000 (предполагается, что это верхний предел) и никогда не опустятся ниже 0 (предполагается, что это нижний предел). Если вы собираетесь хранить их номинальное значение (например, 100,00% хранится как 100,00), то вам следует использовать decimal(5,2) с соответствующим ограничением CHECK. В сочетании с хорошим именем столбца это дает понять другим разработчикам, что это за данные и как они хранятся в столбце.

109
ответ дан 24 November 2019 в 07:20
поделиться

Если 2 десятичных разряда - ваш уровень точности, тогда "smallint" обработает это в наименьшем пространстве (2 байта). Вы сохраняете процент, умноженный на 100.

РЕДАКТИРОВАТЬ: десятичный тип , вероятно, лучше подходит. Тогда вам не нужно масштабировать вручную. На каждое значение требуется 5 байтов.

2
ответ дан 24 November 2019 в 07:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: