Re: INTERVAL output format for iso_8601 is without dashes

From: Benjamin Kröger <benjamin(dot)kroeger(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-docs(at)lists(dot)postgresql(dot)org
Subject: Re: INTERVAL output format for iso_8601 is without dashes
Date: 2026-03-16 11:39:32
Message-ID: 0efbf18e-165e-4aae-97c1-2137201f0382@gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-docs


> PG Doc comments form <noreply(at)postgresql(dot)org> writes:
>> https://www.postgresql.org/docs/current/datatype-datetime.html#DATATYPE-INTERVAL-OUTPUT
>> The output format for mixed Interval in style specification iso_8601 is
>> documented incorrectly.
>> The documentation says `P-1Y-2M3D​T-4H-5M-6S` while in reality there are no
>> dashes: `P1Y2M3D​T4H5M6S`
>
> It looks correct to me:
>
> regression=# set intervalstyle TO iso_8601;
> SET
> regression=# select '-1 year -2 mons +3 days -04:05:06'::interval;
> interval
> ---------------------
> P-1Y-2M3DT-4H-5M-6S
> (1 row)
>
well, judging vom the columns `Year-Month Interval` and `Day-Time
Interval` I didn't expect the input for the column `Mixed Interval` to
have negative dimensions (since the other two are positive dimensions
only). granted, I missed the positive three days :)

It might help to see the input values that led to the documented output
values. If you look e.g. at the mixed interval output for style
`postgres_verbose`, all dimensions are signed exactly opposite to the
`iso_8601` style.

In response to

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message Tom Lane 2026-03-16 13:44:23 Re: INTERVAL output format for iso_8601 is without dashes
Previous Message Tom Lane 2026-03-15 20:14:23 Re: INTERVAL output format for iso_8601 is without dashes