【问题标题】:Date Where Clause日期地点条款
【发布时间】:2023-03-14 07:53:01
【问题描述】:

我需要一些帮助来为日期字段编写 where 子句。

在我的数据集中,我有一个日期和日期列,显示日期和日期的缺席。

我需要一个 where 子句,如果我搜索特定月份,结果将显示缺席是否超出日期参数。

例如,从 2021 年 1 月 8 日到 2021 年 11 月 11 日缺席,我从 2021 年 1 月 10 日到 2021 年 10 月 31 日运行报告,结果应显示当月缺席的人员记录十月

TIA

【问题讨论】:

  • 能否请您提供示例数据和所需的输出

标签: sql oracle date


【解决方案1】:

假设范围是包容性的,并且您想将一整天都包含在范围内,那么您可以使用:

SELECT *
FROM   absences
WHERE  date_from <  DATE '2021-10-31' + INTERVAL '1' DAY
AND    date_to   >= DATE '2021-10-01'

注意:如果您只在午夜存储日期,那么您可以使用 date_from &lt;= DATE '2021-10-31',但如果您存储的日期包含非午夜时间组件并且想要包含最后一天的全部内容,那么您需要使用&lt; 并添加一天。

其中,对于样本数据:

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小提琴here

【讨论】:

  • 谢谢,这似乎有效
猜你喜欢
  • 1970-01-01
  • 2013-12-18
  • 2014-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-02
  • 2023-03-07
  • 2014-12-23
相关资源
最近更新 更多