Re: casts and conversions

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, Craig Longman <craigl(at)begeek(dot)com>, PostgreSQL SQL List <pgsql-sql(at)postgresql(dot)org>
Subject: Re: casts and conversions
Date: 2001-06-18 17:42:05
Message-ID: 200106181742.f5IHg5O13072@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql


This thread is not worth adding to TODO.detail, is it?

> "Josh Berkus" <josh(at)agliodbs(dot)com> writes:
> > And, just to throw a banana peel onto the sidewalk of argument, there is
> > even a reason to keep things the way they are. [ ... ]
> > Thus there's a good reason for the database to be indecisive about
> > float/numeric decisions, and good reason for you to explicitly CAST.
>
> Indeed. However, the SQL92 spec has its mind made up: section 6.12 says
>
> 1) If the data type of both operands of a dyadic arithmetic opera-
> tor is exact numeric, then the data type of the result is exact
> numeric, [ ... ]
>
> 2) If the data type of either operand of a dyadic arithmetic op-
> erator is approximate numeric, then the data type of the re-
> sult is approximate numeric.
>
> So it's clear that for spec conformance we should cast numeric to float8
> and do the multiply in float math. (Never mind that this could result
> in loss of precision or even overflow :-( since PG's numerics actually
> have a wider range of values than float8.)
>
> A closely related issue is that SQL92 expects a literal like "1.234"
> to be considered exact numeric, not approximate, so our initial typing
> of such literals as float8 is wrong too. We'll have to fix literal
> processing as well as the float8-vs-numeric-preference issue before we'll
> have spec-compliant processing of expressions like "numericvar * 1.234".
> (And yes, there's been lots and lots of discussion about how to do that,
> too...)
>
> regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html
>

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Tom Lane 2001-06-18 18:07:38 Re: LEFT JOIN ...
Previous Message Bruce Momjian 2001-06-18 17:36:44 Re: casts and conversions