Collections:

Other Resources:

Differences of DECIMAL and FLOAT in SQL Server

Q

What Are the Differences between DECIMAL and FLOAT in SQL Server Transact-SQL?

✍: FYIcenter.com

A

DECIMAL and FLOAT are both used to store numerical values. But they have the following main differences:

- DECIMAL(p,s) stores values with the decimal point fixed at the position of s (scale) digits from the right. The total number of decimal digits is also fixed as p (precision).
- FLOAT(n) stores values with the decimal point floating based on the value. The number of bits used to store the mantissa part is fixed as n.
- If the input value of DECIMAL(p,s) has more digits after the decimal point than the scale s, the value will be rounded to the scale s.
- If the input value of FLOAT(n) has more total digits (mantissa) than what n bits can store, the value will be rounded to fit the storage size.
- If the input value of DECIMAL(p,s) has more digits before the decimal point than p-s, SQL Server will give you an over-flow error.
- If the input value of FLOAT(n) is too big that the exponential part goes over the positive limit, SQL Server will give you an over-flow error.
- If the input value of FLOAT(n) is too small that the exponential part goes over the negative limit, SQL Server will give you an under-flow error.

2017-04-15, 542👍, 0💬

Popular Posts:

Where to find answers to frequently asked questions on Managing Security, Login and User in SQL Serv...

How To Use "IF ... ELSE IF ..." Statement Structures in SQL Server Transact-SQL? "IF ... ELSE IF ......

How to run Queries with SQL Server Management Studio Express in SQL Server? 1. Launch and connect SQ...

How To Use DATEADD() Function in SQL Server Transact-SQL? DATEADD() is a very useful function for ma...

How To Define Output Parameters in Stored Procedures in SQL Server Transact-SQL? Sometime a stored p...