Re: 7.4 driver vs 8.2 driver
От | Heikki Linnakangas |
---|---|
Тема | Re: 7.4 driver vs 8.2 driver |
Дата | |
Msg-id | 461DE7C7.3070707@enterprisedb.com обсуждение исходный текст |
Ответ на | 7.4 driver vs 8.2 driver (ismo.tuononen@solenovo.fi) |
Список | pgsql-jdbc |
ismo.tuononen@solenovo.fi wrote: > select trunc($1,2); > and that $1 is binded to double precision > > works with pg74.216.jdbc3.jar driver but with postgresql-8.2-504.jdbc4.jar > we get error: > > ERROR: function round(double precision, integer) does not exist at > character 26 > HINT: No function matches the given name and argument types. You may need > to add explicit type casts. > > to change all queries to: > select > trunc(to_number(to_char($1,'99999999999999.999999),'99999999999999.999999'); > > is just stupid and takes very long time, because it must be done manually > (queries are in reality much more complex) > > any ideas what to do? You can use a cast: select trunc(($1)::numeric). > I just don't understand why postgresql dont have trunc(double > precision,int) when it have trunc(double precision),trunc(numeric) and > trunc(numeric,int) trunc(double precision, int) wouldn't make much sense. The value would be given in base 2 floating point format, while the precision would be given as a number of *decimal* places, IOW base 10. If you find that you need to do that, you should reconsider the data types you use. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com
В списке pgsql-jdbc по дате отправления: