首页 > 解决方案 > 在查询中指定工作日/周末的时间范围

问题描述

我希望提取过去 30 天内在工作时间之外收到的请求数量,但我是编码新手,不知道如何构建查询。

Where date > receivedat - interval '30 day'

但是,工作日和周末的营业时间不同。如何设置条件以跟踪特定日期的请求?

标签: postgresqldatetimedays

解决方案


这是一个可能接近您需要的样本。

-- 假设收到时间是日期时间

SELECT * from your_table where receivedat > CURRENT_DATE - 间隔“30 天”和 NOT(EXTRACT(DOW FROM receivedat)在 1 到 5 之间和 EXTRACT(HOUR FROM receivedat)在 7 到 22 之间)
和 NOT(EXTRACT(DOW FROM receivedat)在 6 之间和 7 和 EXTRACT(HOUR FROM receivedat ) 在 8 到 19 之间) ;


推荐阅读