The YEAR() function extracts the year part from a date or datetime value.
Click to reveal answer
beginner
How do you extract the month from a date in SQL?
Use the MONTH() function to get the month number (1-12) from a date or datetime value.
Click to reveal answer
beginner
What is the purpose of the DAY() function in SQL?
The DAY() function extracts the day of the month (1-31) from a date or datetime value.
Click to reveal answer
intermediate
Write a SQL query to get the year, month, and day from a column named order_date.
SELECT YEAR(order_date) AS year, MONTH(order_date) AS month, DAY(order_date) AS day FROM your_table;
Click to reveal answer
beginner
Why is extracting year, month, and day useful in databases?
It helps to filter, group, or analyze data based on parts of dates, like finding sales in a specific month or year.
Click to reveal answer
Which SQL function extracts the year from a date?
ADAY()
BMONTH()
CDATEPART()
DYEAR()
✗ Incorrect
The YEAR() function extracts the year part from a date.
What does MONTH('2024-06-15') return?
A6
B15
C2024
DNULL
✗ Incorrect
MONTH() returns the month number, which is 6 for June.
If you want to get the day from a date, which function do you use?
AMONTH()
BDAY()
CYEAR()
DDATE()
✗ Incorrect
DAY() extracts the day of the month from a date.
Which SQL query correctly extracts year, month, and day from birth_date?
ASELECT YEAR(birth_date), MONTH(birth_date), DAY(birth_date) FROM table;
BSELECT DATE(birth_date) FROM table;
CSELECT EXTRACT(YEAR, birth_date) FROM table;
DSELECT GETDATE(birth_date) FROM table;
✗ Incorrect
Option A uses the correct functions YEAR(), MONTH(), and DAY() to extract parts of the date.
What is the output of DAY('2024-06-01')?
A2024
B6
C1
DNULL
✗ Incorrect
DAY() returns the day part, which is 1 for the first day of the month.
Explain how to extract the year, month, and day from a date column in SQL and why it might be useful.
Think about how you can break a date into smaller parts to analyze data.
You got /3 concepts.
Write a simple SQL query to select the year, month, and day from a column named created_at in a table called users.
Use the YEAR(), MONTH(), and DAY() functions in the SELECT clause.
You got /5 concepts.
Practice
(1/5)
1. What does the SQL function EXTRACT(YEAR FROM order_date) return when used on a date column?
easy
A. The full date in order_date
B. The year part of the date in order_date
C. The day part of the date in order_date
D. The month part of the date in order_date
Solution
Step 1: Understand the EXTRACT function
The EXTRACT function is used to get a specific part of a date, such as year, month, or day.
Step 2: Identify the part requested
Here, EXTRACT(YEAR FROM order_date) extracts the year part from the date in the order_date column.
Final Answer:
The year part of the date in order_date -> Option B
Quick Check:
EXTRACT(YEAR FROM date) = year number [OK]
Hint: EXTRACT(YEAR FROM date) gets the year number fast [OK]
Common Mistakes:
Confusing YEAR with MONTH or DAY
Expecting full date instead of part
Using wrong syntax like EXTRACT(order_date YEAR)
2. Which of the following is the correct syntax to extract the month from a date column named sale_date?
easy
A. EXTRACT(MONTH FROM sale_date)
B. EXTRACT(MONTH sale_date)
C. EXTRACT(FROM sale_date MONTH)
D. EXTRACT(sale_date, MONTH)
Solution
Step 1: Recall the correct EXTRACT syntax
The correct syntax is EXTRACT(part FROM source), where part is YEAR, MONTH, or DAY.
Step 2: Match syntax with options
EXTRACT(MONTH FROM sale_date) uses EXTRACT(MONTH FROM sale_date), which matches the correct syntax.
Final Answer:
EXTRACT(MONTH FROM sale_date) -> Option A
Quick Check:
EXTRACT(part FROM date) is correct syntax [OK]
Hint: Remember EXTRACT(part FROM date) syntax [OK]
Common Mistakes:
Omitting FROM keyword
Swapping order of arguments
Using commas inside EXTRACT
3. Given a table events with a column event_date storing dates, what will this query return?
SELECT EXTRACT(DAY FROM event_date) FROM events WHERE EXTRACT(MONTH FROM event_date) = 12;
medium
A. All month numbers of events that happened in December
B. Syntax error due to wrong EXTRACT usage
C. All full dates of events in December
D. All day numbers of events that happened in December
Solution
Step 1: Analyze the WHERE clause
The WHERE clause filters rows where the month part of event_date is 12 (December).
Step 2: Analyze the SELECT clause
The SELECT clause extracts the day part from event_date for those filtered rows.
Final Answer:
All day numbers of events that happened in December -> Option D
Quick Check:
EXTRACT filters month=12, selects day numbers [OK]
Hint: Filter by month, select day with EXTRACT [OK]
Common Mistakes:
Confusing day with month in SELECT
Expecting full date instead of day number
Thinking query has syntax error
4. Identify the error in this SQL query:
SELECT EXTRACT(YEAR sale_date) FROM sales;
medium
A. Missing FROM keyword inside EXTRACT
B. sale_date should be in quotes
C. EXTRACT cannot be used on date columns
D. No error, query is correct
Solution
Step 1: Check EXTRACT syntax
EXTRACT requires the syntax EXTRACT(part FROM source). The keyword FROM is missing here.
Step 2: Confirm correct usage
The correct query should be SELECT EXTRACT(YEAR FROM sale_date) FROM sales;
Final Answer:
Missing FROM keyword inside EXTRACT -> Option A
Quick Check:
EXTRACT(part FROM date) needs FROM [OK]
Hint: Always include FROM in EXTRACT syntax [OK]
Common Mistakes:
Omitting FROM keyword
Putting column name in quotes
Thinking EXTRACT can't use dates
5. You want to find all orders placed on the 15th day of any month in 2023 from the orders table with a order_date column. Which query correctly filters these orders?
hard
A. SELECT * FROM orders WHERE EXTRACT(MONTH FROM order_date) = 15 AND EXTRACT(YEAR FROM order_date) = 2023;
B. SELECT * FROM orders WHERE DAY(order_date) = 15 AND YEAR(order_date) = 2023;
C. SELECT * FROM orders WHERE EXTRACT(DAY FROM order_date) = 15 AND EXTRACT(YEAR FROM order_date) = 2023;
D. SELECT * FROM orders WHERE EXTRACT(DAY FROM order_date) = 2023 AND EXTRACT(YEAR FROM order_date) = 15;
Solution
Step 1: Identify correct EXTRACT usage for day and year
We want day = 15 and year = 2023, so EXTRACT(DAY FROM order_date) = 15 and EXTRACT(YEAR FROM order_date) = 2023.
Step 2: Check each option
SELECT * FROM orders WHERE EXTRACT(DAY FROM order_date) = 15 AND EXTRACT(YEAR FROM order_date) = 2023; matches the correct conditions. SELECT * FROM orders WHERE DAY(order_date) = 15 AND YEAR(order_date) = 2023; uses non-standard functions that may not work in all SQL dialects. SELECT * FROM orders WHERE EXTRACT(MONTH FROM order_date) = 15 AND EXTRACT(YEAR FROM order_date) = 2023; incorrectly uses MONTH = 15. SELECT * FROM orders WHERE EXTRACT(DAY FROM order_date) = 2023 AND EXTRACT(YEAR FROM order_date) = 15; swaps day and year values incorrectly.
Final Answer:
SELECT * FROM orders WHERE EXTRACT(DAY FROM order_date) = 15 AND EXTRACT(YEAR FROM order_date) = 2023; -> Option C
Quick Check:
Filter day=15 and year=2023 with EXTRACT [OK]
Hint: Use EXTRACT(DAY FROM date) and EXTRACT(YEAR FROM date) together [OK]
Common Mistakes:
Mixing up day and month
Using non-standard functions without checking dialect
Swapping day and year values
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.