MySQL DATEDIFF()

Learn via video courses
Topics Covered

Overview

MySQL DATEDIFF function calculates the difference between two dates in terms of days. This function can be used for various applications such as age calculation, project duration, and customer lifetime value. It is a convenient way to determine the time interval between two dates and can be used for a wide range of applications such as calculating the age of a person, the duration between two events, or the time elapsed between two points in time.

Syntax of MySQL DATEDIFF() Function

The syntax for the MySQL DATEDIFF() function is as follows:

where date1 and date2 are the two dates that you want to compare.

Transform Your Career

Choose from our industry-leading programs designed for career success

NSDC Certified

Modern Software and AI Engineering Program

Master full-stack development with AI integration

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program
NSDC Certified

Modern Data Science and ML with specialisation in AI

Advanced data science techniques with AI specialization

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program
NSDC Certified

Advanced AIML with Specialisation in Agentic AI

Deep dive into AIML with focus on Agentic systems

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program
NSDC Certified

DevOps, Cloud & AI Platform Engineering

Build and manage AI-powered cloud infrastructure

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program
NSDC Certified

AI Engineering Advanced Certification by IIT-Roorkee

Premier AI engineering certification from IIT-Roorkee

3 MonthsDuration
AI-LedCurriculum
Career SupportSupport
Program highlights
Go to Program

Parameters of MySQL DATEDIFF() Function

The DATEDIFF() function takes two arguments:

  • date1: This is the first date that you want to compare. It can be a date string or a date value in a column of a table.
  • date2: This is the second date that you want to compare. It can also be a date string or a date value in a column of a table.

These arguments represent the two dates you want to compare. The MySQL DATEDIFF() function calculates the number of days between these two dates.

Scaler Placement Report and Statistics

₹23L
AVG CTC
SCALER PLACEMENT PROOF

Scaler learners achieved 2.5x salary growth with average post-Scaler CTC reaching ₹23L.

11,000+placements
650+companies
Verified data

Return Value of MySQL DATEDIFF() Function

The return value of the MySQL DATEDIFF() function is an integer that represents the number of days between the two dates. If date1 is later than date2, the result is positive. If date1 is earlier than date2, the result is negative. If the two dates are the same, the result is 0.

Exceptions of MySQL DATEDIFF() Function

While MySQL DATEDIFF() is a useful tool for calculating the difference between two dates, there are some scenarios where it may not work as expected.

Here are a few examples:

  • Different date formats: DATEDIFF() function expects both dates to be in the same format, such as YYYY-MM-DD. If the two dates are in different formats, DATEDIFF() may return unexpected results or an error.
  • Timezone differences: If the two dates being compared are in different time zones, DATEDIFF() may return unexpected results. This is because DATEDIFF() calculates the difference between the dates based on the server's timezone, not the timezone of the dates themselves. To avoid this issue, you can convert both dates to a common timezone before using DATEDIFF().
  • Date range limitations: DATEDIFF() function has some limitations on the range of dates it can handle. For example, it can only calculate the difference between dates within the range of 1000-01-01 and 9999-12-31. If the dates being compared fall outside this range, DATEDIFF() may return unexpected results or an error.

Turn Learning into Career Growth

1200+Hiring Partners
89%Placement Rate
11,000+Placements
147%Avg Salary Increment
2.5XCareer Growth
₹23 LPAAvg Post-Scaler Salary
1200+Hiring Partners
89%Placement Rate
11,000+Placements
147%Avg Salary Increment
2.5XCareer Growth
₹23 LPAAvg Post-Scaler Salary

How does the MySQL DATEDIFF() Function Work?

The MySQL DATEDIFF() function calculates the number of days between two dates or date expressions. It works by subtracting the second date from the first date and returning the result as an integer.

There are several possible combinations of input parameters for the MySQL DATEDIFF() function, as follows:

  • DATEDIFF(date1, date2)

    In this case, the function will calculate the number of days between date1 and date2.

  • DATEDIFF(date1 + INTERVAL expr1 unit1, date2 + INTERVAL expr2 unit2)

    In this case, the function will calculate the difference between two dates that have been adjusted by an interval. The expr1 and expr2 parameters are expressions that are added to the corresponding dates, and the unit1 and unit2 parameters specify the units for the expressions.

  • DATEDIFF(expr1, expr2)

    In this case, the function will calculate the difference between two expressions that evaluate dates. The expressions can be any valid date or date-time values, including column names or subqueries that return dates.

    In all cases, the MySQL DATEDIFF() function will return an integer representing the number of days between the two dates or expressions. If the result is outside the range of the INT data type, an error will be raised.

Examples

Here are some examples of the MySQL DATEDIFF() function with different input parameters:

  1. Calculate the number of days between two dates:

    CODE:

    OUTPUT:

    EXPLANATION: In this example, the MySQL DATEDIFF() function calculates the number of days between the two dates 2023-03-07 and 2023-03-01.

  2. Calculate the number of weeks between two dates:

    CODE:

    OUTPUT:

    EXPLANATION: In this example, the DATEDIFF() function calculates the number of days between the two dates 2023-03-07 and 2023-02-01. The result is then divided by 7 to convert the number of days to weeks.

  3. Calculate the number of months between two dates:

    CODE:

    OUTPUT:

    EXPLANATION: In this example, the MySQL DATEDIFF() function calculates the number of days between the two dates 2023-03-07 and 2023-01-01. The result is then divided by 30 to convert the number of days to months.

  4. Calculate the number of quarters between two dates:

    CODE:

    OUTPUT:

    EXPLANATION: In this example, the MySQL DATEDIFF() function calculates the number of days between the two dates 2023-03-07 and 2022-01-01. The result is then divided by 90 to convert the number of days to quarters (assuming a quarter is 90 days long).

  5. Calculate the number of years between two dates:

    CODE:

    OUTPUT:

    EXPLANATION: In this example, the DATEDIFF() function calculates the number of days between the two dates 2023-03-07 and 2010-01-01. The result is then divided by 365 to convert the number of days to years.

  6. Calculate the number of days between two dates, with an interval adjustment:

    CODE:

    OUTPUT:

    EXPLANATION: In this example, the MySQL DATEDIFF() function calculates the number of days between the two dates 2023-03-07 and 2023-03-01, but with an interval adjustment. The first date is adjusted by adding 1 year, and the second date is adjusted by adding 1 month.

Conclusion

  • The DATEDIFF() function calculates the number of days between two dates.
  • It takes two date arguments and returns an integer value representing the number of days between them.
  • This function can also be used to calculate the number of weeks, months, quarters, or years between two dates, by dividing the result by a specified number of days.
  • It can be used with date expressions or date columns in a table.
  • The MySQL DATEDIFF() function can also be used with interval adjustments, to calculate the difference between two adjusted dates.

See Also

Here are some related MySQL functions that you may find useful:

  • DATE_ADD() and DATE_SUB()
  • TIMESTAMPDIFF()
  • NOW() and CURRENT_TIMESTAMP()

MCQs

  • What is the purpose of the MySQL DATEDIFF() function?

    1. To calculate the difference between two datetime values
    2. To calculate the difference between two date values
    3. To add or subtract a specified interval from a datetime value
    4. To format a datetime value in a specific way

    Correct Answer: 2

  • Which of the following is true about the MySQL DATEDIFF() function?

    1. It calculates the difference between two dates in terms of a specified interval
    2. It returns the number of days between two dates
    3. It returns the number of seconds between two dates
    4. It returns the difference between two dates in terms of a specified interval but always returns a positive value

    Correct Answer: 2

  • What is the data type of the value returned by the DATEDIFF() function?

    1. Date
    2. Datetime
    3. Integer
    4. Float

    Correct Answer: 3

Hiring Partners:
GoogleGoogleAmazonAmazonMicrosoftMicrosoftFlipkartFlipkartAdobeAdobe1200+ more