it will return the number of days in the current month
declare @dt datetime
set @dt = getdate()
select
DT = @dt,
[Days in Month] =day(dateadd(mm,datediff(mm,-1,@dt),-1))
or you can try
datediff(day, dateadd(day, 1-day(@date), @date),
dateadd(month, 1, dateadd(day, 1-day(@date), @date)))