You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL查询报错:获取当前日期在指定区间的pricing表ID

问题分析与修正

报错原因

原SQL语句的WHERE子句存在语法错误:

  • BETWEEN的正确用法是指定两个值作为范围边界,格式为[值] BETWEEN [左边界] AND [右边界]
  • 错误地将布尔表达式(start_date >= '2022-10-19'、end_date <= '2022-10-20')作为BETWEEN的边界,导致PostgreSQL尝试将date类型的current_date与boolean类型值比较,触发类型不匹配错误:

operator does not exist: date >= boolean LINE 3: where current_Date between start_date>=date '2022-10-19'...

修正后的SQL语句

根据需求提供两种正确写法:

场景1:查询满足「当前日期在记录的start_date与end_date之间」且「记录的start_date不早于2022-10-19、end_date不晚于2022-10-20」的id

SELECT id
FROM pricing
WHERE current_date BETWEEN start_date AND end_date
  AND start_date >= DATE '2022-10-19'
  AND end_date <= DATE '2022-10-20';

场景2:仅当当前日期处于2022-10-19至2022-10-20之间时,查询pricing表的所有id

SELECT id
FROM pricing
WHERE current_date BETWEEN DATE '2022-10-19' AND DATE '2022-10-20';

内容的提问来源于stack exchange,提问作者Javeria

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 04:31:02