sql - 日期地点条款
问题描述
我需要一些帮助来为日期字段编写 where 子句。
在我的数据集中,我有一个日期和日期列,它显示了日期和日期的缺席。
我需要一个 where 子句,如果我搜索特定月份,结果将显示缺席是否超出日期参数。
例如,从 2021 年 1 月 8 日到 2021 年 11 月 11 日缺席,我从 2021 年 1 月 10 日到 2021 年 10 月 31 日运行报告,结果应显示人员记录,因为他们在 10 月缺席
TIA
解决方案
假设范围是包容性的,并且您想将一整天都包含在范围内,那么您可以使用:
SELECT *
FROM absences
WHERE date_from < DATE '2021-10-31' + INTERVAL '1' DAY
AND date_to >= DATE '2021-10-01'
注意:如果您只在午夜存储日期,那么您可以使用date_from <= DATE '2021-10-31'
,但如果您存储的日期包含非午夜时间组件并且想要包含最后一天的全部内容,那么您需要使用<
并添加一天。
其中,对于样本数据:
CREATE TABLE absences (date_from, date_to) AS
SELECT DATE '2021-08-01', DATE '2021-11-11' FROM DUAL;
输出:
DATE_FROM | DATE_TO |
---|---|
2021-08-01 00:00:00 | 2021-11-11 00:00:00 |
db<>在这里摆弄
推荐阅读
- android - 从表到回收器视图之间的 firebase 实时获取数据
- python - 是否有一种简单的方法可以在修改 @property 字段时通知其他字段
- javascript - 如何在不重新加载 DOM 的情况下单击时交换网格中的元素
- logical-operators - 无法理解 Python 如何解释这个“或”运算符
- c# - 找出 Entity Framework 表的最后一个元素的 id
- c# - 有没有办法只在 ButtonClick 上运行我的更新功能中的内容?
- c# - 将表达式树与 Where Any EntityCore 一起使用
- graphviz - ER图:由于等级相等而避免超宽图
- r - install.packages() 执行没有错误,但 library() 无法找到/获取调用的包。为什么?
- css - Bootstrap.min.css 更改我的顶部导航栏、间距和字体