postgresql - 在查询中指定工作日/周末的时间范围
问题描述
我希望提取过去 30 天内在工作时间之外收到的请求数量,但我是编码新手,不知道如何构建查询。
Where date > receivedat - interval '30 day'
但是,工作日和周末的营业时间不同。如何设置条件以跟踪特定日期的请求?
解决方案
这是一个可能接近您需要的样本。
-- 假设收到时间是日期时间
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 之间) ;
推荐阅读
- c# - Automapper 展开到列表
- node.js - 猫鼬在提取信息的同时更新数百万条记录
- javascript - 当为 localstorage 添加 location.reload 以外的数据时,如何将其打印出来?
- html - 将分享问题链接到 Facebook 和 Linkedin?
- sqlite - SQLiteOpenHelper AndroidStudio 的 writableData 问题 - Kotlin
- javascript - 将页面重定向到 fb
- swift - CoreBluetooth 看不到外围设备名称
- mysql - MySQL 未执行外键约束。编辑:用“其他”替换“模式”
- highcharts - Highcharts:堆积条形图 -> 如何改变颜色?
- django - DRF ModelSerializer 比标准 Serializer 快还是慢?