گاهی اوقات لازم است، تاریخ آخرین روز ماه جاری یا دو ماه بعدتر یا یک ماه قبلتر و غیرو... را نیاز داشته باشیم. SQL Server در نسخه 2008 خود تابعی ارائه داده است، که تاریخ آخرین روز ماه را برمی گرداند. و Syntax آن به شرح ذیل میباشد:
EOMONTH ( start_date [, month_to_add ] )
این تابع دو پارامتر دریافت میکند، اولین پارامتر یک فرمت تاریخ میپذیرد، دومین پارامتر، اختیاری است و یک عدد میپذیرد و بیانگر تعداد ماه بعد از تاریخ یا تعداد ماه قبل از تاریخ،پارامتر اول میباشد.
با چند مثال نحوه استفاده از تابع EOMONTH را میآموزیم:
مثال اول:
SELECT EOMONTH('20110201') as 'آخرین روز ماه فوریه در سال 2011';
SELECT EOMONTH('20120201') as 'آخرین روز ماه فوریه در سال 2012';
SELECT EOMONTH('20130201') as 'آخرین روز ماه فوریه در سال 2013';
خروجی بصورت زیر میباشد:
مثال دوم:
یافتن آخرین روز دو ماه بعدتر از تاریخ جاری
SELECT EOMONTH(GETDATE(),2) as 'آخرین روز ماه ژانویه در سال 2013';
خروجی بصورت زیر خواهد بود:
مثال سوم:
یافتن آخرین روز دو ماه قبلتر از تاریخ جاری:
SELECT EOMONTH(GETDATE(),-2) as 'آخرین روز ماه سپتامبر'
خروجی :
موفق باشید