Обсуждение: INTERVAL output format for iso_8601 is without dashes

Поиск
Список
Период
Сортировка

INTERVAL output format for iso_8601 is without dashes

От
PG Doc comments form
Дата:
The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/18/datatype-datetime.html
Description:

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`




Re: INTERVAL output format for iso_8601 is without dashes

От
Tom Lane
Дата:
PG Doc comments form <noreply@postgresql.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)

            regards, tom lane



Re: INTERVAL output format for iso_8601 is without dashes

От
Benjamin Kröger
Дата:
> PG Doc comments form <noreply@postgresql.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.



Re: INTERVAL output format for iso_8601 is without dashes

От
Tom Lane
Дата:
=?UTF-8?Q?Benjamin_Kr=C3=B6ger?= <benjamin.kroeger@gmail.com> writes:
> 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.

I believe all the entries in each column of that table represent the
same value.  The reason for the sign difference in postgres_verbose
is that it uses "ago" to indicate an overall sign inversion.

            regards, tom lane