楼上的如果是2月份会算出有30天,好像有问题啊
create function udf_getdaynum(@aa datetime)
returns int
as
begin
declare @bb datetime,@day int
set @bb=dateadd(month,1,@aa)
select @day=day(dateadd(day,-1,(cast(year(@bb) as varchar)+'-'+cast(month(@bb) as varchar)+'-'+'01')))
return @day
end
--创建函数
create function fDayNum( @date as datetime )
returns int
begin
set @date = datepart(year,@date) + '-' + datepart(month,@date) + '-01'
return datediff(day,@date,dateadd(month,1,@date))
end
Go