From: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> |
---|---|
To: | Ken Tanzer <ken(dot)tanzer(at)gmail(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Sebastien Flaesch <sebastien(dot)flaesch(at)4js(dot)com>, pgsql-general <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Intervals and ISO 8601 duration |
Date: | 2023-01-14 00:02:55 |
Message-ID: | 4ba54cc3-004a-f7c9-2908-963321f401ba@aklaver.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 1/13/23 15:57, Adrian Klaver wrote:
> On 1/13/23 15:32, Ken Tanzer wrote:
>> On Fri, Jan 13, 2023 at 3:03 PM Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com
>
>> Cheers,
>> Ken
>>
>> (*) These are probably bad suggestions, but something like...
>>
>> EXTRACT ( (RAWHOURS|RAWDAYS|RAWMICROSECONDS) ... ?
>> Or a function RAWEXTRACT( HOURS|DAYS|MICROSECONDS ) ?
>
> Close as I can get:
>
>
> WITH inters AS (
> SELECT
> extract(epoch from '1 day 2 hours'::interval) AS i1,
> extract(epoch from '26 hours'::interval) AS i2
> )
> SELECT
> i1,
> i2,
> i1=i2 AS "Equal?"
> FROM inters;
>
> i1 | i2 | Equal?
> --------------+--------------+--------
> 93600.000000 | 93600.000000 | t
Or:
WITH inters AS (
SELECT
make_interval(secs=>extract(epoch from '1 day 2
hours'::interval)) as i1,
make_interval(secs=>extract(epoch from '26 hours'::interval))
as i2
)
SELECT
i1,
i2,
i1=i2 AS "Equal?"
FROM inters;
i1 | i2 | Equal?
----------+----------+--------
26:00:00 | 26:00:00 | t
>
>>
>>
>> -- Adrian Klaver
>> adrian(dot)klaver(at)aklaver(dot)com <mailto:adrian(dot)klaver(at)aklaver(dot)com>
>>
>>
>>
>> --
--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com
From | Date | Subject | |
---|---|---|---|
Next Message | Bryn Llewellyn | 2023-01-14 00:03:14 | Re: Intervals and ISO 8601 duration |
Previous Message | Adrian Klaver | 2023-01-13 23:57:13 | Re: Intervals and ISO 8601 duration |