2013-09-19 4 views
0

Мне нужно ввести значение, которое может быть десятичным или int. Каков тип данных, который мне нужно установить для столбца в базе данных?Типы данных децимал/int в SQL Server

+0

Пойдите с десятичной точкой. –

+0

Какой SQL-модуль вы используете? – Dhwani

+0

@Radu, я использовал десятичную (3,2). Но когда я попытался вставить значение 12, он выдаст ошибку: «Msg 8115, уровень 16, состояние 8, строка 2 Ошибка арифметического переполнения, преобразующая int в тип данных numeric. Операция завершена». – MusicLovingIndianGirl

ответ

2

Учитывая, что у вас есть два разных типа значений, может оказаться более полезным иметь столбцы NULLable с другим типом данных. Если у вас есть 100-1000 строк в таблице, это не проблема, и вы можете пойти с большим DECIMAL(18,3) или даже DECIMAL(38,10) по мере необходимости и конвертировать все в этот большой формат. Однако, если вы нажмете миллиарды строк, вы должны иметь в виду, что, хотя стандарт INT имеет всего 4 байта, самый маленький DECIMAL составляет 5 байт, а для точности до 10. Для более широких значений он может легко вырасти до 9 байт или более, более чем удвоение используемого пространства для хранения.

+0

Очень хорошая информация –

Смежные вопросы