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

时间:2018-07-06 16:46:10

标签: php sql sql-server

i have this table

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

30/07/2018 
01/08/2018
02/08/2018 

我将通过它尝试下一个查询

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

预先感谢

1 个答案:

答案 0 :(得分:0)

首先,如果应该,您应该有一个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);