Rock_query
Yak Posting Veteran
55 Posts 
Posted  07/26/2013 : 19:18:43

On the Microsoft website, I am trying to understand the how the decimal and numeric data types work. It says that valid values for precision are:
 10^38 +1 through 10^38  1
I don't understand the purpose of the negative sign before the first 10.
I understand that decimal (p,s) refers to haing a total of p digits (before and after the decimal) and only s number of digits to the right of the decimal. How does the equation above relate to the 's' portion of the syntax?


Bustaz Kool
Flowing Fount of Yak Knowledge
USA
1821 Posts 
Posted  07/26/2013 : 19:52:56

It just means that you could have a number that was somewhere between
100,000,000,000,000,000,000,000,000,000,000,000,000 and +100,000,000,000,000,000,000,000,000,000,000,000,000 (actually these numbers are off by 1 but you get the idea)
In order get support a number of that size you would need to define your variable/column as having a datatype of "decimal(38)"
================================================= The cure for anything is salt water  sweat, tears, or the sea. Isak Dinesen 
Edited by  Bustaz Kool on 07/26/2013 19:54:05 


visakh16
Very Important crosS Applying yaK Herder
India
52325 Posts 
Posted  07/27/2013 : 03:53:40

quote: Originally posted by Rock_query
On the Microsoft website, I am trying to understand the how the decimal and numeric data types work. It says that valid values for precision are:
 10^38 +1 through 10^38  1
I don't understand the purpose of the negative sign before the first 10.
I understand that decimal (p,s) refers to haing a total of p digits (before and after the decimal) and only s number of digits to the right of the decimal. How does the equation above relate to the 's' portion of the syntax?
depending on how many digits you want after decimal places you will choose a suitable value for s and then the maximum number of digits you can include before decimal would be ps ie if you want upto 4 decimal precision you'll choose s=4
then number of digits before decimal can be maximum of 384 = 34
ie 10^34 +1 to 10^34  1 with 4 decimal places
 SQL Server MVP http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs


