Re: Arbitrary precision arithmatic with pgsql
От | Jan Wieck |
---|---|
Тема | Re: Arbitrary precision arithmatic with pgsql |
Дата | |
Msg-id | 41348898.1070107@Yahoo.com обсуждение исходный текст |
Ответ на | Re: Arbitrary precision arithmatic with pgsql (Rajesh Kumar Mallah <mallah@trade-india.com>) |
Ответы |
Re: Arbitrary precision arithmatic with pgsql
Re: Arbitrary precision arithmatic with pgsql |
Список | pgsql-sql |
On 8/31/2004 9:15 AM, Rajesh Kumar Mallah wrote: > Michael Glaesemann wrote: > >> >> On Aug 31, 2004, at 9:17 PM, Michael Glaesemann wrote: >> >>> What you need is a power operation for numeric, which I think you'd >>> have to write yourself, >> >> >> Looking a little closer, there is a pow() function that takes two >> numeric arguments and returns numeric. >> >> <http://www.postgresql.org/docs/current/static/functions-math.html> >> >> test=# select pow(2::numeric,100::numeric); >> pow >> -------------------------------------------------- >> 1267650600228229401496703205376.0000000000000000 >> (1 row) >> >> Sorry for the misinformation. >> >> If you'd like, I think you can overload the ^ operator to work on >> numeric as well if you don't want to use pow(). See the following page >> for more information. >> >> <http://www.postgresql.org/docs/current/static/sql-createoperator.html> > > > Yep thats cool. Thanks for the research! > > but i still wonder if a warning or info message were > appropriate at some stage so that people do not confuse it > with sielent loss of accuracy . I know this example is *not* a > case of where postgresql is truncating data at the insert level > (like mysql does) but at the calculation level. I agree that doing select 2::numeric ^ 100; should emit some sort of a warning. Because what happens here is that the numeric value is degraded to a float8 in order to use the operator. I don't think that select 2 ^ 100; should emit the same warning. Jan -- #======================================================================# # It's easier to get forgiveness for being wrong than for being right. # # Let's break this rule - forgive me. # #================================================== JanWieck@Yahoo.com #
В списке pgsql-sql по дате отправления: