Hello Sairam, What is the type of the colum?, what version of postgres are you using?
I didn't had any problem retrieving data in both ways... check out the below ============================================= test=# create temp table test (col1 float); CREATE TABLE test=# insert into test values(-107.689878); INSERT 0 1 test=# select * from test where col1=-107.6898780000; col1 ------------- -107.689878 (1 row) test=# select * from test where col1=-107.689878000; col1 ------------- -107.689878 (1 row) test=# select * from version(); version ------------------------------------------------------------------------------------------------------------------ PostgreSQL 8.4.1 on x86_64-redhat-linux-gnu, compiled by GCC gcc (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42), 64-bit (1 row) ============================================ Thanks Deepak On Mon, Oct 25, 2010 at 10:11 AM, Sairam Krishnamurthy <kmsram...@gmail.com>wrote: > All, > > I have simple query like 'select * from table1 where > column1=-107.6898780000'. This returns an empty set. But there is data > corresponding to this value of column. > > When I looked more into it, it seems like a precision issue. The value for > column1 is -107.689878. > > More interesting is that the following query fetches the row, > > 'select * from table1 where column1=-107.689878000' > > Note that there are only three trailing zeros in the second query while > there were four in the first. > > Can somebody help me to find out the problem? I can very well truncate the > trailing zeros when querying, but I am interested in finding why an > additional trailing zero returns an empty set. > > -- > Thanks, > Sairam Krishnamurthy > +1 612 859 8161 > >