Что числовое (18, 0) в sql server 2008 r2
Я нашел таблицу с этим столбцом из этого типа данных
numeric(18, 0)
что это такое? и почему 0
и 18
означают
Я уже проверяю этот вопрос Разницу между числовыми, float и decimal в SQL Server, но не мог понять. \
Можно ли добавить (-10) в этот столбец?
Можно ли добавить все отрицательные числа в этот столбец?
Можно ли добавить любое положительное число в этот столбец?
Обновление 1
Это образец данных, которые я нашел в этой колонке
100
263
13
2
9
4
3
3
28
15
33
16
135
50
64
60
100
500
150
Обновление 2
Возможно ли иметь -
и +
?
Ответы
Ответ 1
Первое значение - это точность, а второе - масштаб, поэтому 18,0
- это, по сути, 18 цифр с 0 цифрами после запятой. Например, если бы у вас было 18,2
, у вас было бы 18 цифр, две из которых были бы после десятичной...
пример 18,2: 1234567890123456.12
Между numeric
и decimal
нет никакой функциональной разницы, кроме того, что, как мне кажется, я помню, что числовые были на первом месте, как в ранней версии.
И ответить: "Могу ли я добавить (-10) в этот столбец?" - Да, ты можешь.
Ответ 2
Эта страница объясняет это довольно хорошо.
В качестве numeric
допустимый диапазон, который может быть сохранен в этом поле, составляет от -10^38 +1
до 10^38 - 1
.
Первое число в круглых скобках - это общее количество цифр, которые будут сохранены. Подсчет обеим сторонам десятичной дроби. В этом случае 18. Таким образом, вы можете иметь число с 18 цифрами до десятичных 18 цифр после десятичной или некоторой комбинации между ними.
Второе число в круглых скобках - это общее количество цифр, которое должно быть сохранено после десятичного знака. Так как в этом случае число равно 0, это означает, что в этом поле могут храниться только целые числа.
Таким образом, диапазон, который может быть сохранен в этом конкретном поле, составляет от -(10^18 - 1)
до (10^18 - 1)
Или -999999999999999999
до 999999999999999999
Только целые числа