# DATE_EXTRACT

Extracts specific parts of a date, such as the year, month, day, or hour.

## Syntax

`DATE_EXTRACT(datePart, date)`

### Parameters

#### `datePart`

The part of the date to extract. Supported values include:

- `aligned_day_of_week_in_month`
- `aligned_day_of_week_in_year`
- `aligned_week_of_month`
- `aligned_week_of_year`
- `ampm_of_day`
- `clock_hour_of_ampm`
- `clock_hour_of_day`
- `day_of_month`
- `day_of_week`
- `day_of_year`
- `epoch_day`
- `era`
- `hour_of_ampm`
- `hour_of_day`
- `instant_seconds`
- `micro_of_day`
- `micro_of_second`
- `milli_of_day`
- `milli_of_second`
- `minute_of_day`
- `minute_of_hour`
- `month_of_year`
- `nano_of_day`
- `nano_of_second`
- `offset_seconds`
- `proleptic_month`
- `second_of_day`
- `second_of_minute`
- `year`
- `year_of_era`

Refer to `java.time.temporal.ChronoField` for detailed descriptions of these values. If `null`, the function returns `null`.

#### `date`

The date expression from which to extract the specified part. If `null`, the function returns `null`.

## Examples

### Extracting the Year from a Date

Extract the year from a given date:

```esql
ROW date = DATE_PARSE("yyyy-MM-dd", "2022-05-06")
| EVAL year = DATE_EXTRACT("year", date)
```

### Filtering Events Outside Business Hours

Retrieve all events that occurred outside of business hours (before 9 AM or after 5 PM):

```esql
FROM sample_data
| WHERE DATE_EXTRACT("hour_of_day", @timestamp) < 9 AND DATE_EXTRACT("hour_of_day", @timestamp) >= 17
```