declare @dt datetime
set @dt='2002-11-30'if month(@dt)<>month(dateadd(day,1,@dt))
print '月末'
else
print '不是月末'
set @dt='2002-11-30'if month(@dt)<>month(dateadd(day,1,@dt))
print '月末'
else
print '不是月末'
--思路是与下个月一号间隔是否为 0
declare @dt datetime
set @dt='2002-11-30'
select dateadd(day,-1, cast( cast(year(@dt) as varchar) + '-' + cast(month(@dt)+1 as varchar) + '-1' as datetime))
,case when datediff(day,dateadd(day,-1, cast( cast(year(@dt) as varchar) + '-' + cast(month(@dt)+1 as varchar) + '-1' as datetime)),@dt) =0 then '月末'
else '月中' end