Обсуждение: 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