Except does not work as in the documentation

Started by PG Bug reporting formabout 1 year ago2 messagesdocs
Jump to latest
#1PG Bug reporting form
noreply@postgresql.org

The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/17/queries-union.html
Description:

The current documentation does not give the right syntax for using the
EXCEPT in a query.
This is the error when I ran the below:
select appt_id from wayfinder.patient_details where create_timestamp between
('2025-02-24 00:00:00' and '2025-02-25 00:00:00')
EXCEPT
select appt_id from wayfinder.appointment_details where create_timestamp
between ('2025-02-24 00:00:00' and '2025-02-25 00:00:00')
ERROR: syntax error at or near "EXCEPT"
LINE 2: EXCEPT
^
SQL state: 42601
Character: 128

#2Greg Sabino Mullane
greg@turnstep.com
In reply to: PG Bug reporting form (#1)
Re: Except does not work as in the documentation

Your BETWEEN statement has X AND Y inside of parenthesis. No parenthesis
are needed, the format is:

BETWEEN X AND Y

not

BETWEEN (X AND Y)

See:

https://www.postgresql.org/docs/current/functions-comparison.html

Postgres is complaining about the EXCEPT because it is waiting for the next
item in the BETWEEN clause. It just happened to be in the line of fire -
any other word would have triggered an error as well.

Cheers,
Greg

--
Crunchy Data - https://www.crunchydata.com
Enterprise Postgres Software Products & Tech Support