Comparison Predicates - example - documentation seems contradictory?
The following documentation comment has been logged on the website:
Page: https://www.postgresql.org/docs/14/functions.html
Description:
https://www.postgresql.org/docs/14/functions-comparison.html
See the heading: "Table 9.2. Comparison Predicates"
"2 BETWEEN 3 AND 1 → f" # ok this is false.
But let's read the example immediately below (the 'not between' example)
2 NOT BETWEEN 1 AND 3 → f # what? This is also false. how can the negation
also be the same value? I would expect it to be true?
That doesn't seem right?
On 2022-Oct-06, PG Doc comments form wrote:
See the heading: "Table 9.2. Comparison Predicates"
"2 BETWEEN 3 AND 1 → f" # ok this is false.
But let's read the example immediately below (the 'not between' example)
2 NOT BETWEEN 1 AND 3 → f # what? This is also false. how can the negation
also be the same value? I would expect it to be true?
Actually, 2 *is* between 1 and 3. So if you ask if it's NOT between,
that's false.
The other one is false because the boundaries are reversed, and BETWEEN
does not put them in the proper order before comparing. BETWEEN
SYMMETRIC does that, as explained in the line below.
--
Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/
you're 100% right. Got it now. The documentation is correct and does not need to be changed. chrs.
________________________________
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
Sent: Friday, 7 October 2022 7:49 PM
To: benkoshy@hotmail.com <benkoshy@hotmail.com>; pgsql-docs@lists.postgresql.org <pgsql-docs@lists.postgresql.org>
Subject: Re: Comparison Predicates - example - documentation seems contradictory?
On 2022-Oct-06, PG Doc comments form wrote:
See the heading: "Table 9.2. Comparison Predicates"
"2 BETWEEN 3 AND 1 → f" # ok this is false.
But let's read the example immediately below (the 'not between' example)
2 NOT BETWEEN 1 AND 3 → f # what? This is also false. how can the negation
also be the same value? I would expect it to be true?
Actually, 2 *is* between 1 and 3. So if you ask if it's NOT between,
that's false.
The other one is false because the boundaries are reversed, and BETWEEN
does not put them in the proper order before comparing. BETWEEN
SYMMETRIC does that, as explained in the line below.