【发布时间】:2018-02-06 16:12:35
【问题描述】:
我必须创建一个程序,该程序将填充年份、一个月的天数和月份的名称,它将从给定的年份开始,并有一个结束年份,例如
YEAR MONTH DAYS
2015 JAN 31
2015 FEB 28
.
.
2015 DEC 30
这样。 请帮助我如何完成这项工作。我可以像这样确定每年一年中的总月数和天数
declare @y int;
declare @cnt int = 2015;
set @y = 2012;
while @y<@cnt
begin
SELECT DATEDIFF(MONTH, cast(@y as char(4)), cast(@y+1 as char(4))) Months ,DATEDIFF(DAY, cast(@y as char(4)), cast(@y+1 as char(4))) Days ,@y Year
set @y = @y+1;
end;
这将给出一年,它的月数和一年中的天数。但我无法填充这个请帮助
【问题讨论】:
-
您应该在此处使用计数表而不是循环。但这是为了什么?是作业吗?
-
@SeanLange 不,我的项目中需要这个,你能帮忙吗?请
-
除了二月之外,每个月的天数总是相同的,所以除了二月,这在查询中是没有意义的。
-
@SeanLange 同意,但我需要这个,你能帮忙吗?
标签: sql-server date stored-procedures