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

PostgreSQL中查询排除周末的日期范围数据

解决方案:PostgreSQL查询排除周末日期的行

要实现「仅当指定日期不是周末时,返回包含该日期的行」,只需在原有查询的WHERE条件中添加判断指定日期非周末的逻辑即可。

完整SQL语句

SELECT * 
FROM your_table_name  -- 替换为你的实际表名
WHERE '2023-02-11'::date <@ date_slot
  AND extract(isodow FROM '2023-02-11'::date) NOT IN (6, 7);

逻辑说明

  • extract(isodow FROM date) 是PostgreSQL中不受本地化影响的星期判断函数:
    • 返回值1对应周一,2对应周二……6对应周六,7对应周日
  • 添加NOT IN (6,7)后,当指定日期是周六或周日时,整个WHERE条件不成立,不会返回任何结果;只有当指定日期为工作日时,才会执行原有日期范围匹配逻辑。

验证示例

对于测试日期2023-02-11(周六),extract(isodow FROM '2023-02-11'::date)返回6,第二个条件不满足,查询不会返回任何行,符合预期。若替换为工作日日期(比如2023-02-10,周五),则会正常返回包含该日期的行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 01:05:33