INTERVAL output format for iso_8601 is without dashes
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-2M3DT-4H-5M-6S` while in reality there are no
dashes: `P1Y2M3DT4H5M6S`
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-2M3DT-4H-5M-6S` while in reality there are no
dashes: `P1Y2M3DT4H5M6S`
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
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-2M3DT-4H-5M-6S` while in reality there are no
dashes: `P1Y2M3DT4H5M6S`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.
=?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