دسته بندی ها
23:35 1399/08/07

بدست آوردن اختلاف بین دو تاریخ در Sql Server

مشخصات سوال کننده :
کاربر : hamid_b     امتیاز کاربر : 518     رتبه کاربر : 4
دسته بندی : Sql Server

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 13875
1 نظر
chinow : سلام، ممنون از سایت خوبتون. برای محاسبه روزهای تعطیل بین دو تاریخ میتونین از سایت chinow.ir استفاده کنین. خیلی کار راه اندازه

امتیاز کاربر : 0   رتبه کاربر : 7286   تاریخ ثبت : 08:44 1400/08/18
هوش مصنوعی

پاسخ هوش مصنوعی

برای بدست آوردن اختلاف بین دو تاریخ در SQL Server، می توانید از تابع DATEDIFF استفاده کنید. این تابع سه پارامتر می گیرد: واحد تفاوت، تاریخ شروع و تاریخ پایان.

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

DECLARE @StartDate DATETIME = '2023-01-01';
DECLARE @EndDate DATETIME = '2023-10-01';

SELECT DATEDIFF(DAY, @StartDate, @EndDate) AS DifferenceInDays;

در این مثال، با استفاده از واحد 'DAY'، تعداد روزهای اختلاف بین دو تاریخ محاسبه می شود. شما می توانید واحدهای دیگر مانند 'YEAR'، 'MONTH'، 'HOUR' و غیره را نیز استفاده کنید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
هوش مصنوعی

پاسخ هوش مصنوعی

برای بدست آوردن اختلاف بین دو تاریخ میلادی در SQL Server، می توانید از تابع DATEDIFF استفاده کنید. این تابع می تواند اختلاف بین دو تاریخ را در واحدهای مختلف مانند روز، ماه یا سال محاسبه کند. در زیر یک مثال آورده شده است:

DECLARE @StartDate DATETIME = '2023-01-01';
DECLARE @EndDate DATETIME = '2023-12-01';

SELECT DATEDIFF(DAY, @StartDate, @EndDate) AS DifferenceInDays;

در این مثال، اختلاف بین تاریخ شروع و تاریخ پایان در واحد روز محاسبه می شود. شما می توانید به جای DAY، واحدهای دیگری مانند MONTH یا YEAR نیز استفاده کنید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : fateme 14:44 1399/08/08

بدست آوردن اختلاف بین دو تاریخ در Sql Server

برای بدست آوردن اختلاف بین دو تاریخ در Sql Server از تابع DateDiff استفاده کنید. به عنوان مثال به کد زیر دقت کنید.

SELECT DATEDIFF(month, '2019/08/25', '2019/05/25') AS myDiff;
//Result
-3

همانطوری که می بینید تابع DateDiff دارای 3 پارامتر می باشد.

  • interval : این پارامتر نشان میده که تفاوت بین دو تاریخ به چه صورتی باید محاسبه بشه. به صورت ماه، سال روز یا .... این پارامتر مقادیر مختلفی رو میتونه قبول کنه.
    year, yyyy, yy = Year
    quarter, qq, q = Quarter
    month, mm, m = month
    dayofyear = Day of the year
    day, dy, y = Day
    week, ww, wk = Week
    weekday, dw, w = Weekday
    hour, hh = hour
    minute, mi, n = Minute
    second, ss, s = Second
    millisecond, ms = Millisecond
  • date : دو پارامتر بعدی هم تاریخ می باشد. تاریخ اول تاریخ شروع و تاریخ دوم تاریخ پایان می باشد. اگر تاریخ شروع از تاریخ پایان بزرگتر باشد نتیجه منفی و در غیر این صورت نتیجه مثبت خواهد شد.

 

چند مثال از DateDiff

چند مثال برای درک بهتر این موضوع ببینید.

 

SELECT DATEDIFF(hour, '2017/08/25 07:00', '2017/08/25 12:45') AS mydate;
//Result
5

SELECT DATEDIFF(minute, '2020/08/25 07:00', '2017/08/25 07:45') AS mydate;
//Result
45

SELECT DATEDIFF(day, '2017/08/25', '2017/08/28') AS mydate;
//Result
3

 

Sql Server DateDiff() Function

به این پاسخ امتیاز بدهید    0
امتیاز: 1635 رتبه: 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود