Bird
Raised Fist0
SQLquery~5 mins

DATE arithmetic (DATEDIFF, DATE_ADD) in SQL - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the SQL function DATEDIFF do?

DATEDIFF calculates the number of days between two dates. It tells you how many days separate one date from another.

Click to reveal answer
beginner
How do you add 10 days to a date in SQL?

You use DATE_ADD with an interval of 10 days. For example: DATE_ADD('2024-01-01', INTERVAL 10 DAY) gives you the date 10 days after January 1, 2024.

Click to reveal answer
beginner
What is the difference between DATEDIFF and DATE_ADD?

DATEDIFF finds the number of days between two dates. DATE_ADD changes a date by adding a certain amount of time (days, months, etc.) to it.

Click to reveal answer
intermediate
Write a SQL query to find how many days have passed since '2024-01-01' until today.

SELECT DATEDIFF(CURRENT_DATE, '2024-01-01');

This returns the number of days from January 1, 2024, to today.

Click to reveal answer
beginner
How can you add 3 months to a date using SQL?

Use DATE_ADD with INTERVAL 3 MONTH. Example: DATE_ADD('2024-01-01', INTERVAL 3 MONTH) gives April 1, 2024.

Click to reveal answer
What does DATEDIFF('2024-01-10', '2024-01-01') return?
A1
B9
C11
D10
Which SQL function adds a time interval to a date?
ADATE_ADD
BDATEDIFF
CDATE_SUB
DNOW
How do you subtract 5 days from a date in SQL?
ADATE_ADD(date, INTERVAL 5 DAY)
BDATEDIFF(date, 5)
CDATE_SUB(date, INTERVAL 5 DAY)
DSUBDATE(date, 5)
What will DATE_ADD('2024-02-28', INTERVAL 1 DAY) return?
A'2024-02-29'
B'2024-03-01'
C'2024-02-28'
DError
If you want to find the number of days between two dates, which function do you use?
ADATE_ADD
BNOW
CCURDATE
DDATEDIFF
Explain how to calculate the number of days between two dates in SQL and give an example.
Think about how to find the difference in days between '2024-01-01' and '2024-01-10'.
You got /3 concepts.
    Describe how to add a time interval (like days or months) to a date in SQL and provide a sample query.
    Consider adding 10 days or 3 months to a specific date.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the SQL function DATEDIFF('2024-06-10', '2024-06-01') return?
      easy
      A. 1
      B. 10
      C. 11
      D. 9

      Solution

      1. Step 1: Understand DATEDIFF parameters

        DATEDIFF calculates the number of days between the first date and the second date.
      2. Step 2: Calculate the difference

        From June 1 to June 10, there are 9 days difference (10 - 1 = 9).
      3. Final Answer:

        9 -> Option D
      4. Quick Check:

        DATEDIFF('2024-06-10', '2024-06-01') = 9 [OK]
      Hint: Subtract dates to get days difference [OK]
      Common Mistakes:
      • Counting both start and end dates
      • Mixing order of dates in DATEDIFF
      • Assuming difference is 10 instead of 9
      2. Which of the following is the correct syntax to add 5 days to the date '2024-06-01' using DATE_ADD?
      easy
      A. DATE_ADD('2024-06-01', INTERVAL 5 DAY)
      B. DATE_ADD('2024-06-01', 5 DAY)
      C. DATE_ADD('2024-06-01', INTERVAL DAY 5)
      D. DATE_ADD('2024-06-01', DAY 5 INTERVAL)

      Solution

      1. Step 1: Recall DATE_ADD syntax

        The correct syntax is DATE_ADD(date, INTERVAL number unit), e.g., INTERVAL 5 DAY.
      2. Step 2: Check each option

        Only DATE_ADD('2024-06-01', INTERVAL 5 DAY) follows the correct syntax with INTERVAL 5 DAY.
      3. Final Answer:

        DATE_ADD('2024-06-01', INTERVAL 5 DAY) -> Option A
      4. Quick Check:

        Correct DATE_ADD syntax uses INTERVAL before number and unit [OK]
      Hint: Use INTERVAL keyword before number and unit [OK]
      Common Mistakes:
      • Omitting INTERVAL keyword
      • Swapping number and unit order
      • Placing INTERVAL after unit
      3. What is the result of this SQL query?
      SELECT DATEDIFF('2024-07-01', DATE_ADD('2024-06-25', INTERVAL 3 DAY)) AS diff;
      medium
      A. 6
      B. 3
      C. 5
      D. 4

      Solution

      1. Step 1: Calculate DATE_ADD('2024-06-25', INTERVAL 3 DAY)

        Adding 3 days to June 25 gives June 28, 2024.
      2. Step 2: Calculate DATEDIFF('2024-07-01', '2024-06-28')

        The difference between July 1 and June 28 is 3 days (June 29, 30, July 1).
      3. Final Answer:

        3 -> Option B
      4. Quick Check:

        DATEDIFF('2024-07-01', '2024-06-28') = 3 [OK]
      Hint: Calculate DATE_ADD first, then DATEDIFF [OK]
      Common Mistakes:
      • Counting days incorrectly between dates
      • Forgetting to add days before DATEDIFF
      • Assuming DATEDIFF counts inclusive days
      4. Identify the error in this SQL statement:
      SELECT DATE_ADD('2024-06-01', 5 DAY);
      medium
      A. DATE_ADD cannot add days
      B. Wrong date format
      C. Missing INTERVAL keyword before 5 DAY
      D. Extra semicolon inside function

      Solution

      1. Step 1: Review DATE_ADD syntax

        DATE_ADD requires INTERVAL keyword before the number and unit.
      2. Step 2: Check the given statement

        The statement misses INTERVAL before '5 DAY', causing syntax error.
      3. Final Answer:

        Missing INTERVAL keyword before 5 DAY -> Option C
      4. Quick Check:

        DATE_ADD needs INTERVAL before number and unit [OK]
      Hint: Always use INTERVAL before number and unit [OK]
      Common Mistakes:
      • Omitting INTERVAL keyword
      • Using wrong date format
      • Adding semicolon inside function
      5. You want to find how many days are left until a deadline 10 days after '2024-06-15'. Which SQL query correctly calculates the days left from '2024-06-20'?
      hard
      A. SELECT DATEDIFF(DATE_ADD('2024-06-15', INTERVAL 10 DAY), '2024-06-20') AS days_left;
      B. SELECT DATEDIFF('2024-06-20', DATE_ADD('2024-06-15', INTERVAL 10 DAY)) AS days_left;
      C. SELECT DATEDIFF('2024-06-15', DATE_ADD('2024-06-20', INTERVAL 10 DAY)) AS days_left;
      D. SELECT DATEDIFF('2024-06-20', '2024-06-15' + INTERVAL 10 DAY) AS days_left;

      Solution

      1. Step 1: Calculate deadline date

        Deadline is 10 days after June 15, so DATE_ADD('2024-06-15', INTERVAL 10 DAY) = June 25.
      2. Step 2: Calculate days left from June 20 to deadline

        DATEDIFF(deadline, current_date) = DATEDIFF('2024-06-25', '2024-06-20') = 5 days left.
      3. Final Answer:

        SELECT DATEDIFF(DATE_ADD('2024-06-15', INTERVAL 10 DAY), '2024-06-20') AS days_left; -> Option A
      4. Quick Check:

        Days left = deadline - current date = 5 [OK]
      Hint: Subtract current date from deadline date [OK]
      Common Mistakes:
      • Swapping date order in DATEDIFF
      • Adding interval to wrong date
      • Using wrong syntax for INTERVAL
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard