Re: precision of numeric type
От | Bruce Momjian |
---|---|
Тема | Re: precision of numeric type |
Дата | |
Msg-id | 200210271536.g9RFavF00678@candle.pha.pa.us обсуждение исходный текст |
Ответ на | precision of numeric type ("w.winter" <w.winter@logitags.com>) |
Ответы |
Re: precision of numeric type
|
Список | pgsql-jdbc |
I am not sure. Others may have a better answer, but the problem may be due to comparing a non-exact type like numberic to an inexact type like double. You may find 7.3beta has this fixed because we did work on improving such casts in that release. --------------------------------------------------------------------------- w.winter wrote: > Hi, > > on testing our auto-configuration persistence framework ACP against > PostgreSQL we found the following problem: > > I have a table with a column of type numeric(48,10). The PostgreSQL docs > say: "The type numeric can store numbers of practically unlimited size and > precision, while being able to store all numbers and carry out all > calculations exactly." > > I store the Double value 1212121234.5634349876 with a > PreparedStatement.setDouble() > > I make a PreparedStatement with SELECT FROM TESTTABLE WHERE TESTCOLUMN=? > and set the Parameter with > stmt.setDouble(1, new Double(1212121234.56343498)); > > The row will be found! > > The same happens when I do > stmt.setString(1, String.valueOf(new Double(1212121234.56343498))); > > and if I do > stmt.setDouble(1, new Double(1212121234.5634349)); > an error is produced : Unable to identify an operator '=' for types > 'numeric' and 'double precision' > > it seems to me, the behaviour with numeric datatypes is not consistent. > > Wolfgang > > ___________________ > Dr. Wolfgang Winter > LogiTags Systems > www.logitags.com > > > ---------------------------(end of broadcast)--------------------------- > TIP 2: you can get off all lists at once with the unregister command > (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
В списке pgsql-jdbc по дате отправления: