Situatie
Mai jos este o functie ce primeste ca prametru o data si pentru acea data, returneaza ultima zi din luna respectiva/numarul de zile ale lunii, astfel incat sa poata fi rulata in cadrul unui select daca este necesar.
Solutie
create function dbo.GetDaysInMonth ( @day date )
returns int
as
begin
return
case when month(@day) in (1, 3, 5, 7, 8, 10, 12) then 31
when month(@day) in (4, 6, 9, 11) then 30
else case when (year(@day) % 4 = 0 and –leap year
year(@day) % 100 != 0) or
(year(@day) % 400 = 0)
then 29
else 28
end
end
end
Leave A Comment?