sql - 具有特定工作日的 SQL 查询
问题描述
2021年5月至2021年8月间,周日晚上7点到周五早上5点需要查记录,where条件下怎么写?
下面的查询是 3 个月的,但我想要从周日晚上 7 点到周五早上 5 点
l1.[PickupTime] between '2021/05/01 19:00:00' and '2021/09/01 05:00:00'
你能帮我解决这个问题吗?
解决方案
嗯。. . 我想你想要:
where l1.[PickupTime] between '2021-05-01' and '2021-09-02' and
((datename(weekday, l1.[PickupTime]) = 'Sunday' and
time(l1.[PickupTime]) >= '19:00:00'
) or
(datename(weekday, l1.[PickupTime]) in ('Monday', 'Tuesday', 'Wednesday', 'Thursday') or
(datename(weekday, l1.[PickupTime]) = 'Friday' and
time(l1.[PickupTime]) < '05:00:00'
)
)
推荐阅读
- javascript - 为什么在这行代码中使用分组运算符?
- python - Python:如何显示日期时间函数以外的时间戳
- ios - 在 Xcode 中,如何为在 iOS SIMULATOR 上运行的应用构建 Objective-C 库?
- linear-regression - 为使用虚拟数据训练的模型预测新数据
- reactjs - 如何获取平面列表中呈现的项目数?
- python - Pandas:删除每年不存在的 ID 行
- c++ - C++ 模板参数 sizeof 返回不正确的结果
- reactjs - 使用 Netlify 部署时调用 API 失败,在本地服务时工作正常(Reactjs 网站)
- python - 如何在 python 中使用 Cntr+z 表示输入结束?
- office-scripts - 在保护表之前解锁单个单元格