DATEADD (DATEADD)
تابع DATEADD در SQL Server یک «بازه زمانی (Interval)» را به یک تاریخ اضافه می کند. «بازه زمانی» یعنی واحد زمان مثل سال یا ماه. با این تابع، به راحتی تاریخ های آینده یا گذشته را می سازیم.
تعریف و کاربرد ساده
DATEADD(interval, number, date) یعنی: یک interval را به date اضافه کن، به مقدار number. عدد مثبت آینده را می سازد، عدد منفی گذشته را می سازد.
سینتکس (Syntax)
سینتکس یعنی شکل نوشتن دستور. این تابع سه ورودی می گیرد.
DATEADD(interval, number, date)
مثال 1: افزودن یک سال
می خواهیم یک سال به یک تاریخ اضافه کنیم. مثل تمدید اشتراک.
SELECT
DATEADD(year, 1, '2017/08/25') AS DateAdd;
مثال 2: افزودن دو ماه
دو ماه به تاریخ اضافه می کنیم. مثل سررسید قسط.
SELECT
DATEADD(month, 2, '2017/08/25') AS DateAdd;
مثال 3: کم کردن دو ماه
این بار دو ماه کم می کنیم. عدد منفی گذشته را می دهد.
SELECT
DATEADD(month, -2, '2017/08/25') AS DateAdd;
مثال 4: محاسبه سن قانونی
18 سال به تاریخ تولد اضافه می کنیم. مناسب برای احراز سن.
SELECT
LastName,
BirthDate,
DATEADD(year, 18, BirthDate) AS DateAdd
FROM
Employees;
واحدهای مجاز (Intervals)
می توانی از این ها استفاده کنی: year|yyyy|yy، quarter|qq|q، month|mm|m، dayofyear|dy|y، day|dd|d، week|ww|wk، weekday|dw|w، hour|hh، minute|mi|n، second|ss|s، millisecond|ms.
نکته: برای زمان «الان»، از CURRENT_TIMESTAMP کمک بگیر. همچنین، DATEDIFF اختلاف زمان را حساب می کند.
برای یک دستی در پروژه، از تابع DATEADD با یک سبک ثابت استفاده کن.
گام های عملی
- جدول یا تاریخ نمونه آماده کن.
- واحد مناسب را انتخاب کن؛ مثل
month. - عدد را تعیین کن؛ مثبت یا منفی.
- دستور DATEADD را اجرا کن و نتیجه را بررسی کن.
جمع بندی سریع
- DATEADD بازه زمانی را اضافه می کند.
- عدد منفی زمان را کم می کند.
- واحدهای زیادی پشتیبانی می شود.
- برای سن، سررسید، و گزارش عالی است.