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)
Список
Дерево обсуждения
7.4 driver vs 8.2 driver ismo.tuononen@solenovo.fi
Re: 7.4 driver vs 8.2 driver Heikki Linnakangas <heikki@enterprisedb.com>
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 по дате отправления
От: Kris Jurka
Дата:
От: Konstantinos Agouros
Дата:
Сообщение: PGInterval.getSeconds
FAQ