如何在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% 的配额
提前致谢
【问题讨论】:
你知道between
和triggers
吗?
我是初学者,不太了解 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 数据库中提取数据 [重复]