Skip to main content
Documents
Share
LinkedIn
Facebook
Twitter
Copy
ClausesStatementsKeywordsExpressionsFunctions

MySQL EXTRACT() Function

The `EXTRACT()` function in MySQL is used to retrieve a specific part of a date or time value. It allows for easy extraction of components like year, month, day, hour, and more from date or time expressions. It is part of the SQL standard, making it applicable across different SQL systems.

Usage

The `EXTRACT()` function is typically used when you need to isolate a particular segment of a date or time for filtering, computation, or display purposes. It simplifies the process of breaking down complex date-time values into their individual components.

EXTRACT(unit FROM date)

In this syntax, `unit` specifies the part of the date or time to extract (e.g., `YEAR`, `MONTH`, `DAY`, `HOUR`, `MINUTE`, `SECOND`, `QUARTER`, `WEEK`, `DAYOFYEAR`), and `date` is the date or time expression from which to extract.

Examples

1. Extracting the Year

SELECT EXTRACT(YEAR FROM '2023-10-15') AS year;

This example extracts the year (`2023`) from the given date, which can be useful in scenarios such as generating annual reports.

2. Extracting the Month

SELECT EXTRACT(MONTH FROM order_date) AS order_month
FROM orders;

Here, the month is extracted from the `order_date` column of the `orders` table, allowing for monthly analysis of orders and trends.

3. Extracting the Day from a Timestamp

SELECT EXTRACT(DAY FROM '2023-10-15 14:35:29') AS day;

This example extracts the day (`15`) from a full timestamp, demonstrating how to separate date components from mixed date-time formats for detailed daily analysis.

Tips and Best Practices

  • Choose the correct unit. Ensure that the `unit` you specify (e.g., `YEAR`, `MONTH`) matches the component you need for accurate results.
  • Use in filtering. Combine `EXTRACT()` with `WHERE` clauses to filter data based on specific date components.
  • Optimize queries. Use `EXTRACT()` on indexed columns for better performance.
  • Be aware of time zones. Consider time zone differences when extracting components from timestamp values to ensure consistency.
  • Handling invalid dates. Be cautious of invalid date or time inputs as `EXTRACT()` may return a NULL or cause an error, impacting query results.