在两个日期之间进行选择时出现postgreSQL语法错误



我正在尝试获取两个日期之间的记录。以下是我的查询

select * from my_data 
where name = 'customer' AND 
(time between (('2021-03-24'::date - '1 month'::interval) AND '2021-03-24'::date))

然而,我得到了一个语法错误

ERROR:  syntax error at or near ")"
LINE 1: ...03-24'::date - '1 month'::interval) AND '2021-03-24'::date))
^

编写查询以返回比给定日期早1个月的行的正确方法是什么?

您可以去掉括号:

select *
from my_data 
where name = 'customer' AND 
time between '2021-03-24'::date - '1 month'::interval AND '2021-03-24'::date;

具体问题是between的范围不接受parens。

最新更新