Rounding problem in SQL 2005

Posted on 2008-06-18
Medium Priority
Last Modified: 2010-03-19
I have data for a particular row. the value as shown when i open the table is 0.02222499999999999998 and when i execute a query in the SQL management studio, the value returned is 0.022225. how can i make the query return the exact data in the table and not the rounded value.
Question by:jealanish
LVL 13

Expert Comment

ID: 21814410
I am sure someone will come in with a better solution, but see this:


Author Comment

ID: 21814561
It does not really help me as the value that is retrieved is 0.022225 and so whatever operation you do is based on this. i see the value as 0.02222499999999999998 in the table.  lets say i have a table expt in which i have two columns one is name of type varchar2 and the other is floatvalue of type float. insert into expt values('jealani' , 0.02222499999999999998). now when i execute the query 'Select * from expt". i need to see "Jealani   0.02222499999999999998 " as the output. i need the exact value what i see in the table in the table view mode.
LVL 52

Expert Comment

by:Mark Wills
ID: 21815774
Sounds like you are using a float. which is an approximation to the real value. Make sure your datatype is either REAL or FLOAT when retrieving, or if decimal, has sufficent scale to accommodate such as decimal(24,18). When using float, some of the views like tableview will attempt to round back. Better if possible to use a high scaled number rather than the numerical approximation of a float column...
LVL 143

Accepted Solution

Guy Hengel [angelIII / a3] earned 1000 total points
ID: 21816012
just to show the "behaviour":
set nocount on
declare @i1 float
declare @i2 float
declare @f float
set @i1 = 1
set @i2 = 3
set @f = @i1/@i2
select @f f 
select cast(@f as varchar(1000)) v
select cast(@f as decimal(20,18)) d

Open in new window


Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

by Mark Wills PIVOT is a great facility and solves many an EAV (Entity - Attribute - Value) type transformation where we need the information held as data within a column to become columns in their own right. Now, in some cases that is relatively…
INTRODUCTION: While tying your database objects into builds and your enterprise source control system takes a third-party product (like Visual Studio Database Edition or Red-Gate's SQL Source Control), you can achieve some protection using a sing…
SQL Database Recovery Software repairs the MDF & NDF Files, corrupted due to hardware related issues or software related errors. Provides preview of recovered database objects and allows saving in either MSSQL, CSV, HTML or XLS format. Ensures recov…
Stellar Phoenix SQL Database Repair software easily fixes the suspect mode issue of SQL Server database. It is a simple process to bring the database from suspect mode to normal mode. Check out the video and fix the SQL database suspect mode problem.

588 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question