Re: BUG #12885: The result of casting a double to an integer depends on the database version

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: BUG #12885: The result of casting a double to an integer depends on the database version
Дата
Msg-id 32478.1427122083@sss.pgh.pa.us
обсуждение исходный текст
Ответ на BUG #12885: The result of casting a double to an integer depends on the database version  (rschaaf@commoninf.com)
Ответы Re: BUG #12885: The result of casting a double to an integer depends on the database version  (Michael Paquier <michael.paquier@gmail.com>)
Список pgsql-bugs
rschaaf@commoninf.com writes:
> The result returned by the following query appears to depend on the
> PostgreSQL database version.

> The query is:
> select column1 AS double_value, cast(column1 AS INT) AS int_value
>   from (VALUES (-2.5::double precision),
>                (-1.5::double precision),
>                (-0.5::double precision),
>                (0.5::double precision),
>                (1.5::double precision),
>                (2.5::double precision)) t;

> In PostgreSQL 9.3.5, the query returns:
> double_value, int_value
>   -2.5, -3
>   -1.5, -2
>   -0.5, -1
>   0.5, 1
>   1.5, 2
>   2.5, 3

> PostgreSQL 9.4.1, the query returns:
>   -2.5, -2
>   -1.5, -2
>   -0.5, 0
>   0.5, 0
>   1.5, 2
>   2.5, 2

FWIW, I get the latter behavior (round to nearest even) in all release
branches, and I would say that one is correct.  Not real sure why your
9.3 installation is misbehaving.

            regards, tom lane

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

Предыдущее
От: IPN Bala GSS TVL
Дата:
Сообщение: PL/Proxy compiling error in Postgres 9.4 Development Server on Ubuntu 14.10
Следующее
От: Jeff Davis
Дата:
Сообщение: pg_get_constraintdef() doesn't always give an equal constraint