what is numeric(18, 0) in sql server 2008 r2
I found a table with this a column from this data type
numeric(18, 0)
what is that please? and why does 0
and 18
mean
I already check this question Difference between numeric, float and decimal in SQL Server but couldn't understand it.\
can I add (-10) in that column?
can I add all negative number in that column?
can I add any positive number in that column?
Update 1
This is a sample of the data I found in that column
100
263
13
2
9
4
3
3
28
15
33
16
135
50
64
60
100
500
150
Update 2
Is it possible to have -
and +
?
The first value is the precision and the second is the scale, so 18,0
is essentially 18 digits with 0 digits after the decimal place. If you had 18,2
for example, you would have 18 digits, two of which would come after the decimal...
example of 18,2: 1234567890123456.12
There is no functional difference between numeric
and decimal
, other that the name and I think I recall that numeric came first, as in an earlier version.
And to answer, "can I add (-10) in that column?" - Yes, you can.
This page explains it pretty well.
As a numeric
the allowable range that can be stored in that field is -10^38 +1
to 10^38 - 1
.
The first number in parentheses is the total number of digits that will be stored. Counting both sides of the decimal. In this case 18. So you could have a number with 18 digits before the decimal 18 digits after the decimal or some combination in between.
The second number in parentheses is the total number of digits to be stored after the decimal. Since in this case the number is 0 that basically means only integers can be stored in this field.
So the range that can be stored in this particular field is -(10^18 - 1)
to (10^18 - 1)
Or -999999999999999999
to 999999999999999999
Integers only