如何在sql中获取两个给定日期之间的日期

Posted

技术标签:

【中文标题】如何在sql中获取两个给定日期之间的日期【英文标题】:how to get dates between two given dates in sql 【发布时间】:2018-07-06 16:46:09 【问题描述】:

在上表中,我需要 sql 查询,通过它我可以从 leave_log 表返回 Leave_from 和 Leave_to 之间的日期(例如,Leave_from 30/07/2018 Leave_to 02-08-2018)我需要像

这样的日期
30/07/2018 
01/08/2018
02/08/2018 

我将尝试下一个查询

2) 是任何查询或函数,它将在插入 leave_log 表之前检查员工在特定日期(01-08-2018)申请的休假是否不超过每个团队 10% 的配额

提前致谢

【问题讨论】:

你知道betweentriggers吗? 我是初学者,不太了解 between 和 trigger 学习很有趣。使用谷歌。 谢谢,但这不是个好主意 有人能帮帮我吗 【参考方案1】:

首先,如果是,您应该有一个calender 表,然后您需要将JOIN 与您的实际表一起转换为calender 表。以其他方式,您可以使用递归 CTE 选项:

with t as (
     select id, leave_frm, leave_to
     from table
     union all
     select id, dateadd(day, 1, leave_frm), leave_to
     from t
     where leave_frm < leave_to
)

select *
from t
option (maxrecursion 0);

【讨论】:

请用日历表指导一下 @RajJadhav。 . .看看 - sqlservercentral.com/articles/calendar/145206 @RajJadhav。 . .日历表是包含日期列表和这些日期的各种组成部分的永久表。也参考。 . . sqlshack.com/designing-a-calendar-table 非常感谢它对我的第一个查询有帮助你能告诉我如何在 php 中准备第二个条件 有人能帮帮我吗

以上是关于如何在sql中获取两个给定日期之间的日期的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SQL 中显示两个给定日期之间的所有日期

如何在 oracle sql 中提取两个日期之间的天数?

试图找到如何在两个日期之间从 SQL 数据库中提取数据 [重复]

如何计算两个给定日期之间的天数

如何在Javascript中找到两个日期之间的给定天数? [复制]

SQL查询选择年份在两个日期之间的行