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

From Tom Lane
Subject Re: ERROR: function round(double precision, integer) does not exist - WTF?
Date
Msg-id 1952.1078453103@sss.pgh.pa.us
Whole thread Raw
In response to ERROR: function round(double precision, integer) does not exist - WTF?  ("Glen Parker" <glenebob@nwlink.com>)
List 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 by date:

Previous
From: "Glen Parker"
Date:
Subject: Re: ERROR: function round(double precision, integer) does
Next
From: "Karl O. Pinc"
Date:
Subject: Re: REFERENCES error message complaint, suggestion