Re: numeric precision when raising one numeric to
От | Scott Marlowe |
---|---|
Тема | Re: numeric precision when raising one numeric to |
Дата | |
Msg-id | 1116452798.31821.64.camel@state.g2switchworks.com обсуждение исходный текст |
Ответ на | Re: numeric precision when raising one numeric to another. (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: numeric precision when raising one numeric to another.
|
Список | pgsql-general |
On Wed, 2005-05-18 at 16:42, Tom Lane wrote: > Scott Marlowe <smarlowe@g2switchworks.com> writes: > > It appears from checking the output of exponentiation of one numeric to > > another, the output is actually in floating point. Is this normal and / > > or expected? > > Yes, seeing that the only ^ operator we have is float8. > > regression=# \do ^ > List of operators > Schema | Name | Left arg type | Right arg type | Result type | > Description > ------------+------+------------------+------------------+------------------+---------------------- > pg_catalog | ^ | double precision | double precision | double precision | exponentiation (x^y) > (1 row) But is this proper behaviour? Considering that the SQL spec says the result of multiplication of exact numeric types is exact numeric types of precision S1+S2, and exponentiation is nothing more than repeated multiplication, should postgresql have a numeric capable exponentiation operator? Since I've finally got a job where I can actually hack on the clock a bit, it might be a nice trial balloon. It'll take a week or two to knock the rust off my C skills though. :)
В списке pgsql-general по дате отправления: