我认为可更新的CTE是必经之路。在SQL Server 2012+中,可以使用
lead():
with toupdate as ( select t.*, lead(start_date) over (partition by entity order by start_date) as next_start_date from t )update toupdate set end_date = dateadd(day, -1, next_start_date) where end_date = dateadd(day, -1, start_date);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)