Relic
Relic

Reputation: 45

Precision equal to scale in MS SQL-Server

I recently came across a column declaration where the precision equal to scale :

...
[MYCOLUMN] [decimal](5, 5) NULL,
...

According to this documentation this seems correct.

But i don't understand, does it means that the decimal intended to fit in, can only have numbers to the right of the decimal point ?

Upvotes: 2

Views: 446

Answers (1)

Radu Gheorghiu
Radu Gheorghiu

Reputation: 20489

Yes, it means that only decimals are allowed when inserting into the table. Everything else will be truncated and will most likely generate a "Data will be truncated" warning.

So the possible values for that column are in the following range:

0 - 0.99999

Have a look at this SQLFiddle. If you uncomment the inserting of 1 into the table you will get a truncation error.

Also, in case SQLFiddle ever goes down, here is the code:

create table test (col1 decimal(5,5));

insert into test values (0.12345);
insert into test values (0);
-- insert into test values (1);

select *
from test

Upvotes: 5

Related Questions