向各位SQL 高手求教:
个人正在做一个租赁有效天数的统计,主键是设备,其中的租赁合同表以合同号为主键,还包括租赁开始日期和租赁终止日期.
我现在的问题是:想计算合同在特定的时间段内每月(自然月)的有效天数,如合同表有以下4条记录
设备 合同号 租赁开始日期 租赁终止日期
aa 1 2022-12-1 2023-1-30
aa 2 2023-2-1 2023-5-15
aa 3 2023-7-20 2023-8-30
aa 4 2023-9-15 2023-12-30
如果我想得出以上一台设备4份合同在2023年度的每月的有效执行天数各是多少
答案应该为:
设备 合同号 月 月工作有效天数 每月天数
aa 1 1 30 31
aa 2 2 28 28
aa 2 3 31 31
aa 2 4 30 30
aa 2 5 15 31
aa 3 6 0 30
aa 3 7 20 31
aa 3 8 30 31
aa 4 9 15 30
aa 4 10 31 31
aa 4 11 30 30
aa 4 12 30 31
请教如何用SQL表达?谢谢!