Re: 8.3: timestamp subtraction

From: Havasvölgyi Ottó <havasvolgyi(dot)otto(at)gmail(dot)com>
To: Ludwig Kniprath <ludwig(at)kni-online(dot)de>
Cc: Pg - General <pgsql-general(at)postgresql(dot)org>
Subject: Re: 8.3: timestamp subtraction
Date: 2009-05-23 18:06:50
Message-ID: 34608c0c0905231106j11f7121esaeb49ae62dc39dc3@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

On 8.2 this comparision is also not true:

select '240:0:0.3'::interval = '10 0:0:0.3'::interval;

But without milliseconds it's true.

Is this also because interval is represented internally as a floating point
value?

On 8.3 this test does not fail.

Best regards,
Otto

2009/5/23 Havasvölgyi Ottó <havasvolgyi(dot)otto(at)gmail(dot)com>

> Thanks.
> I tested the standard Win32 distribution of 8.3.6.
> The same happens on 8.2. But on 8.0 it works.
>
> When I don't use milliseconds, then it works.
>
> Will 8.4 work fine on Win32 again?
>
> Thanks,
> Otto
>
>
>
> 2009/5/23 Ludwig Kniprath <ludwig(at)kni-online(dot)de>
>
> Scott Marlowe schrieb:
>>
>>> On Sat, May 23, 2009 at 7:18 AM, Christophe <xof(at)thebuild(dot)com> wrote:
>>>
>>>
>>>> On May 23, 2009, at 9:13 AM, Daniel Verite wrote:
>>>>
>>>>
>>>>> I don't know why this query returns false:
>>>>>> SELECT '20040506 070809.010000'::timestamp(6) - '20010203
>>>>>> 040506.007000'::timestamp(6) = '1188 day 3 hour 3 minute 3 second 3
>>>>>> millisecond'::interval;
>>>>>> If I just subtract the two timestamps, its result is the interval I
>>>>>> specified.
>>>>>> What may cause this?
>>>>>>
>>>>>>
>>>>> It works for me:
>>>>>
>>>>> test=> SELECT '20040506 070809.010000'::timestamp(6) -
>>>>> '20010203 040506.007000'::timestamp(6)=
>>>>> '1188 day 3 hour 3 minute 3 second 3 millisecond'::interval;
>>>>> ?column? ----------
>>>>> t
>>>>> (1 row)
>>>>>
>>>>>
>>>> Could this be due to the OP's build of PG using floating point
>>>> timestamps?
>>>>
>>>>
>>>
>>> That's what I'm thinking
>>>
>> Me too, a testquery-result on a Windows-System with version "PostgreSQL
>> 8.3.0, compiled by Visual C++ build 1400":
>>
>> SELECT ('20040506 070809.010000'::timestamp(6) - '20010203
>> 040506.007000'::timestamp(6) - '1188 day 3 hour 3 minute 3 second 3
>> millisecond'::interval) * 1e10;
>>
>> => -00:01:28.220986
>>
>>
>> --
>> Sent via pgsql-general mailing list (pgsql-general(at)postgresql(dot)org)
>> To make changes to your subscription:
>> http://www.postgresql.org/mailpref/pgsql-general
>>
>
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Stefan Keller 2009-05-23 18:36:36 Re: Asssociative Arrays: Best practices / snippets?
Previous Message Havasvölgyi Ottó 2009-05-23 17:44:28 Re: 8.3: timestamp subtraction