حسین احمدی
بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

بدست آوردن تاریخ آخرین روز ماه در SQL Server با تابع EcoMonth

در SQL Server توابع زیادی برای کار بر روی رشته ها، اعداد و تاریخ وجود دارد. یکی از توابع کاربردی کار با تاریخ تابخ EOMONTH می باشد که مخفف End Of Month است. بوسیله این تاریخ می توان تاریخ آخرین روز ماه تاریخ جاری یا تاریخی که به عنوان ورودی به آن داده می شود را بدست آورد. ساختار کلی این تابع به صورت زیر است:

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
EOMONTH(date)

برای مثال، فرض کنید می خواهیم تاریخ آخرین روز ماه جاری سیستم را بدست آوریم، از این تابع به صورت زیر استفاده می کنیم:

print eomonth(getdate())

به عنوان مثال دوم، فرض کنید می خواهیم تعداد روزهای باقی مانده تا انتهای ماه تاریخ ورودی را حساب کنیم، برای اینکار باید از ترکیب توابع DATEDIFF و EOMONTH به صورت زیر استفاده کنیم:

print datediff(day,getdate(),eomonth(getdate()))

تاریخ های دلخواه را هم می توان به راحتی به صورت زیر در این تابع استفاده کرد:

declare @date datetime = N'2014-08-17'
print datediff(day,@date,eomonth(@date))

از این تابع می توان در query ها بر روی جداول نیز استفاده کرد. فرض کنید جدولی به صورت زیر داریم و تعدادی تاریخ را در آن درج کردیم:

create table #Dates
(
    [Id] int identity not null primary key,
    [Date] datetime not null
);
GO

به صورت زیر می توان فاصله روزهای بین تاریخ درج شده تا آخرین روز ماه تاریخ درج شده را حساب کرد:

select [Id],DATEDIFF(day,[Date],EOMONTH([Date])) from #Dates

امیدوارم که این نکته مورد استفاده دوستان قرار بگیرد.


حسین احمدی
حسین احمدی

بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ...

نظرات