我有一个示例表:
id | start_dt | end_dt |
---|---|---|
100 | 2021年7月6日 | 2022年9月30日 |
传统方法是:
- 创建一个
Calendar
表,该表每月包含一行,包含start_date和end_date列 - 将您的表格加入
Calendar
表格,其中table.start_dt <= calendar.end_dt AND table.end_dt >= calendar.start_dt
- 这两列将是:
GREATEST(table.start_dt, calendar.start_dt)
LEAST(table.end_dt, calendar.end_dt)