如何将1个月添加到日期值(第1行)并将其用作下一行的输入以添加月份直到达到最大月份ID。将1个月添加到日期值
declare @tmp table (date date,month_id int);
insert into @tmp values('2014-11-30',1),('2014-11-30',2),('2014-11-30',3),('2014-11-30',4),('2014-11-30',5),('2014-11-30',6),('2015-01-01',1),('2015-01-01',2),('2015-01-01',3),('2015-01-01',4);
预期输出:
DATE month_id derived_date1
2014-11-30 1 2014-12-30
2014-11-30 2 2015-01-30
2014-11-30 3 2015-02-28
2014-11-30 4 2015-03-28
2014-11-30 5 2015-04-28
2014-11-30 6 2015-05-28
2015-01-01 1 2015-02-01
2015-01-01 2 2015-03-01
2015-01-01 3 2015-04-01
2015-01-01 4 2015-05-01
请显示所需的结果集。您的描述不清楚。另外我猜你正在使用'SQL Server'。 – lad2025
在标准SQL中,您可以执行'date_column + interval'1'month'。你正在使用哪个DBMS? –
预期输出: DATE \t \t month_id derived_date1 2014年11月30日\t \t 1二○一四年十二月三十日 2014年11月30日\t \t 2 2015年1月30日2014年11月30日 \t 2015-02 -28 2014年11月30日\t \t 4 2015年3月28日2014年11月30日 \t 2015年4月28日2014年11月30日 \t 2015-05-28 2015年1月1日 2015-02-01 2015-01-01 2015年3月1日2015年1月1日 \t 2015-04-01 2015年1月1日\t \t 4 2015年5月1日 –