Re: numeric cast oddity

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: numeric cast oddity
Дата
Msg-id 10122.1259857381@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: numeric cast oddity  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: numeric cast oddity  (Sim Zacks <sim@compulab.co.il>)
Список pgsql-general
I wrote:
> which are indeed different (might be worth looking into why)

Oh: the reason they're different is that these expressions are not
actually the same thing.  Minus binds less tightly than typecast.
You get consistent results if you input equivalent expressions:

regression=# select cast(-1 as numeric(20,4));
 numeric
---------
 -1.0000
(1 row)

regression=# select (-1)::numeric(20,4);
 numeric
---------
 -1.0000
(1 row)

regression=# select - cast(1 as numeric(20,4));
 ?column?
----------
  -1.0000
(1 row)

regression=# select - 1::numeric(20,4);
 ?column?
----------
  -1.0000
(1 row)

What we're actually seeing here is that the code to guess a default
column name doesn't descend through a unary minus operator, it just
punts upon finding an Op node.

            regards, tom lane

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: numeric cast oddity
Следующее
От: Dave Huber
Дата:
Сообщение: code example for PQgetCopyData