【发布时间】:2022-01-08 16:23:35
【问题描述】:
我有一个表格,其中每条记录都有开始和结束日期。我需要在开始日期和结束日期字段(包括开始日期和结束日期)之间返回每天的记录。使用 MS SQL Server。
例子:
当前数据
所需数据:
寻找建议。 谢谢。
【问题讨论】:
标签: sql sql-server tsql
我有一个表格,其中每条记录都有开始和结束日期。我需要在开始日期和结束日期字段(包括开始日期和结束日期)之间返回每天的记录。使用 MS SQL Server。
例子:
当前数据
所需数据:
寻找建议。 谢谢。
【问题讨论】:
标签: sql sql-server tsql
你可以使用递归 cte:
with cte as (
select id, startdate, enddate, startdate as date
from table t
union all
select id, startdate, enddate, dateadd(day, 1, date)
from cte c
where date < enddate
)
select *
from cte c
option (maxrecursion 0);
【讨论】: