рдЖрдпреБ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рд╣рдо рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдПрдХ рдмрдбрд╝реА рд░рд╛рд╢рд┐ рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛ рд░рд╣реЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рддрд╛рд░реАрдЦреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕ рд╕рдордп рдХреЗ рджреМрд░рд╛рди рд╣рдордиреЗ рдЗрд╕ рдбреЗрдЯрд╛ рдХреА рдЕрдЦрдВрдбрддрд╛ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдХрд╛рд░реНрдп рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП рд╣реИрдВред
рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рд╣рдордиреЗ рдпрд╣ рдмрдирд╛рдпрд╛ рдХрд┐ рдПрдХ рдРрд╕реА рдЙрдореНрд░ рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╣рд╛рдБ рдХрд┐рд╕реА рдХрд╛ рдЬрдиреНрдо рдПрдХ рд▓реАрдк рд╡рд░реНрд╖ рдореЗрдВ рд╣реБрдЖ рд╣реЛ, рдПрдХ рджрд┐рди рдХреЗ рд╡рд┐рдЪрд░рдг рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рд▓реАрдк рд╡рд░реНрд╖ рдореЗрдВ, 29/02 рдХреЛ рд╡рд░реНрд╖ рдХрд╛ рдПрдХ рд╣реА рджрд┐рди 01/03 рд╣реИред
рд╣рдо рджреЛ рддрд┐рдерд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдЙрд╕ рд╕рдордп рдХрд╛ рдмреИрдХрдбреЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЙрдореНрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, (рдореГрддреНрдпреБ рдХреА рддрд╛рд░реАрдЦ рдХреА рддрд░рд╣), рдФрд░ рд╡рд░реНрддрдорд╛рди рддрд┐рдерд┐ рдореЗрдВ рдХреЗрд╡рд▓ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдпрджрд┐ рдЦрд╛рд▓реА рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдкрд╣рд┐рдпрд╛ рдХрд╛ рдлрд┐рд░ рд╕реЗ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдордиреЗ рдЕрдкрдирд╛ рдХреЛрдб рдпрд╣рд╛рдВ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рджреНрд╡рд┐рддреАрдпрдХ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
CREATE FUNCTION Dates.GetAge(@Date DATETIME2,@Until DATETIME2) RETURNS INT AS BEGINIF @Until IS NULL SET @Until=CONVERT(DATE,GETDATE())DECLARE @Age INT=DATEDIFF(YEAR,@Date,@Until)+(CASE WHEN DATEPART(DAYOFYEAR,@Date)>(DATEPART(DAYOFYEAR,@Until)+(CASE WHEN dbo.GetLeapYear(@Until)=1 AND DATEPART(DAYOFYEAR,@Until)>59 THEN -1 ELSE 0 END))THEN -1 ELSE 0 END)RETURN @AgeENDGO
SELECT Dates.GetAge('2011-02-28','2013-02-27'),Dates.GetAge('2011-02-28','2013-02-28'),Dates.GetAge('2011-02-28','2013-03-01'),Dates.GetAge('2011-02-28','2013-03-02')SELECT Dates.GetAge('2011-02-28','2012-02-27'),Dates.GetAge('2011-02-28','2012-02-28'),Dates.GetAge('2011-02-28','2012-02-29'),Dates.GetAge('2011-02-28','2012-03-01')SELECT Dates.GetAge('2012-02-28','2013-02-27'),Dates.GetAge('2012-02-28','2013-02-28'),Dates.GetAge('2012-02-28','2013-03-01'),Dates.GetAge('2012-02-28','2013-03-02')SELECT Dates.GetAge('2012-02-29','2013-02-27'),Dates.GetAge('2012-02-29','2013-02-28'),Dates.GetAge('2012-02-29','2013-03-01'),Dates.GetAge('2012-02-29','2013-03-02')
рдЕрдм рддрдХ рдкрд░реАрдХреНрд╖рдг рд╕реЗ рдХреЛрдИ рднреА рд╡рд┐рд╕рдВрдЧрддрд┐ рд╕рд╛рдордиреЗ рдирд╣реАрдВ рдЖрдИ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдХреЛрдИ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред