摘要:
下文通过sql函数的形式,获取指定月份的总天数
实验环境:sqlserver 2008 r2
制作思路:
1. 获取指定月份的第一天,
2. 并采用dateadd向后加一个月形成一个新的日期
3. 将两个日期相减,并返回之间的相差天数,作为指定月份的总天数,如下所示:
create function dbo.fn_getmonthdayall ---自定义函数名称
(
@yyyymm varchar(20) ---指定输入参数格式 4位年份2位月份
)
returns int ---函数返回值类型
as
begin
declare @dayall int
declare @monthstartday datetime
set @monthstartday =left(@yyyymm,4)+'-'+right(@yyyymm,2)+'-01'
select @dayall= datediff(day,@monthstartday,dateadd(month,1,@monthstartday)) ---获取指定月份总天数
return @dayall;
end
go
select dbo.fun_getmonthdays('201804'),
dbo.fun_getmonthdays('201808');
---测试获取月份总天数函数
转自:http://www.maomao365.com/?p=6792