Я пытаюсь выяснить десятичный тип данных столбца в SQL Server. Мне нужно иметь возможность хранить значения, как 15,5, 26,9, 24,7, 9,8 и т. Д.
Я назначил decimal(18, 0)
тип данных столбца, но это не позволило мне сохранить эти значения.
Как правильно это сделать?
sql
sql-server
types
decimal
Alex
источник
источник
decimal(4,2)
разрешает 2 цифры до и 2 цифры после десятичной точки. «4.5» может быть сохранен без проблем - и численно «4.5» и «4.50» идентичныvarchar
для хранения десятичного значения !!Вы должны использовать это следующим образом:
m
это количество цифр, которое может иметь ваша десятичная дробь.a
максимальное количество цифр после десятичной точки.В http://www.tsqltutorials.com/datatypes.php есть описания всех типов данных.
источник
Настройки
Decimal
- это точность и масштаб или на обычном языке, сколько цифр может иметь число и сколько цифр вы хотите иметь справа от десятичной точки.Так что, если вы положите
PI
вDecimal(18,0)
это будет записано как3
?Если вы положите
PI
вDecimal(18,2)
это будет записано как3.14
?Если вы положили
PI
вDecimal(18,10)
записаться как3.1415926535
.источник
Большую часть времени я использую десятичную (9,2), которая занимает наименьшее количество памяти (5 байт) в sql десятичном типе.
Точность => Байты памяти
Он может хранить от 0 до 9 999 999,99 (7 цифр перед + 2 цифры после десятичной точки = всего 9 цифр), что достаточно для большинства значений.
источник
Вы можете попробовать это
Длина чисел должна быть полностью 18. Длина чисел после десятичной точки должна быть только 1 и не более того.
источник
В БД MySQL
decimal(4,2)
разрешено вводить всего 4 цифры. Как вы видитеdecimal(4,2)
, это означает, что вы можете ввести всего 4 цифры, из которых две цифры предназначены для хранения после десятичной точки.Таким образом, если вы введете 100.0 в базу данных MySQL, появится сообщение об ошибке типа «Out of Range Value for column».
Таким образом, вы можете войти только в этот диапазон: с 00.00 до 99.99.
источник
Другие ответы верны. Предполагая, что ваши примеры отражают весь спектр возможностей, что вы хотите
DECIMAL(3, 1)
. ИлиDECIMAL(14, 1)
разрешит всего 14 цифр. Твоя работа - думать о том, чего достаточно.источник
источник