Re: ERROR: function round(double precision, integer) does not exist - WTF?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: ERROR: function round(double precision, integer) does not exist - WTF?
Дата
Msg-id 1952.1078453103@sss.pgh.pa.us
обсуждение исходный текст
Ответ на ERROR: function round(double precision, integer) does not exist - WTF?  ("Glen Parker" <glenebob@nwlink.com>)
Список pgsql-general
"Glen Parker" <glenebob@nwlink.com> writes:
> DB=# select round(1.25::float, 2);
> ERROR:  function round(double precision, integer) does not exist

> What the heck?  This can't be right... Can it?

regression=# \df round
                      List of functions
 Result data type |   Schema   | Name  | Argument data types
------------------+------------+-------+---------------------
 double precision | pg_catalog | round | double precision
 numeric          | pg_catalog | round | numeric
 numeric          | pg_catalog | round | numeric, integer
(3 rows)

Looks right to me: the only 2-arg flavor of round() is on numeric,
not float8.

You could always cast the float to numeric, of course.  I think in
7.2 such conversions were allowed silently, but we have reduced the
number of implicit type coercions.

            regards, tom lane

В списке pgsql-general по дате отправления:

Предыдущее
От: "Glen Parker"
Дата:
Сообщение: Re: ERROR: function round(double precision, integer) does
Следующее
От: "Karl O. Pinc"
Дата:
Сообщение: Re: REFERENCES error message complaint, suggestion