在购买记录中,我想生成一个基准日期 +/-12 个月的序列
Client Date
Joe 2020-03-15
Maria 2019-11-01
所以期望的结果是
Client Date
Joe 2019-03-15
Joe 2019-04-15
.
.
.
Joe 2020-03-15
.
.
.
Joe 2021-02-15
Joe 2021-03-15
Maria 2018-11-01
Maria 2018-12-01
.
.
.
Maria 2019-11-01
.
.
.
Maria 2020-10-01
Maria 2020-11-01
如何实现?
最佳答案
一个选项使用递归查询:
with cte as (
select client, dateadd(month, -12, date) date, 0 lvl from mytbale
union all
select client, dateadd(month, 1, date), lvl + 1 from cte where lvl < 24
)
select * from cte order by client, date
关于sql - 在 T-SQL 中生成日期序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62221569/