BUG #5470: EXTRACT(epoch from ...) missing last digit

From: "Randy Solomonson" <pgsqlbugs(at)solomonson(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #5470: EXTRACT(epoch from ...) missing last digit
Date: 2010-05-24 16:48:07
Message-ID: 201005241648.o4OGm7LS019532@wwwmaster.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs


The following bug has been logged online:

Bug reference: 5470
Logged by: Randy Solomonson
Email address: pgsqlbugs(at)solomonson(dot)com
PostgreSQL version: 8.4.2
Operating system: Red Hat 4.1.2-46 (64-bit)
Description: EXTRACT(epoch from ...) missing last digit
Details:

When converting from Timestamp with Time zone to seconds since epoch, the
last digit of the fraction of a second is missing.

Try the following query:
SELECT x,EXTRACT(epoch from x),EXTRACT(microseconds from x)/1000000
FROM (SELECT '2010-05-24 11:38:01.701845'::timestamp x)t

Here are the results:
x | date_part | ?column?
----------------------------+------------------+----------
2010-05-24 11:38:01.701845 | 1274719081.70184 | 1.701845

Notice the date_part ends in 70184 and drops the sixth digit (a "5" in this
case). Oddly enough, the last digit was also not rounded up. However, it
is rounded up in some cases (eg .538505)

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2010-05-24 17:27:07 Re: BUG #5470: EXTRACT(epoch from ...) missing last digit
Previous Message Tom Molesworth 2010-05-24 15:22:31 Re: psql or pgbouncer bug?