--实现会计月(会计月 从正常月的上一月26号开始到当月的25号)
--函数解释:第一参数为年 第二参数为月 第三参数中 0 为获得会计月开始时间 1为获得会计月结束时间
Code
create function acc_month(@year as int,@month as int,@stat as int)
returns datetime
as
begin
declare @acc_month datetime
if @stat=0
begin
--先将 年参数@year和月@month-1 转换为varchar类型 然后转换为datetime类型 在加25天
select @acc_month = dateadd(day,25,dateadd(month,-1,convert(datetime,convert(varchar(4),@year)+'-'+convert(varchar(2),@month)+'-01')))
end
else if @stat=1
begin
--先将 年参数@year和月@month 转换为varchar类型 然后转换为datetime类型 在加24天
select @acc_month = dateadd(day,24,convert(datetime,convert(varchar(4),@year)+'-'+convert(varchar(2),@month)+'-01'))
end
return @acc_month
end
GO