我在sql server数据库环境中有下表。
起始日期mm/dd/yyy的格式。
我需要结果如下表所示。
根据“开始日期”列,记录应在“开始日期”和“结束日期”之间的期间分隔到每个月
最佳答案
可以使用递归CTE:
with cte as (
select id, startdate as dte, enddate
from t
union all
select id,
dateadd(day, 1, eomonth(dte)),
enddate
from t
where eomonth(dte) < enddate
)
select id, dte,
lead(dte, 1, enddate) over (partition by id order by dte)
from cte;
关于sql - 根据每个月的日期时间列分隔行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57164163/