MONTH() in SQL
Extracts the month value (1-12) from a date or timestamp expression.
Syntax
Return type
MONTH() Function Example
What is MONTH() in SQL?
The MONTH()
function in SQL extracts the month value (1-12) from a given date or timestamp expression. It is commonly used for date-based filtering, grouping data by month, and financial or seasonal analysis.
This function is supported in multiple databases:
MySQL, PostgreSQL, and SQL Server: Use
MONTH(date_column)
.Oracle: Uses
EXTRACT(MONTH FROM date_column)
.SQLite: Uses
strftime('%m', date_column)
.
Parameters:
date_expression: Date, datetime, or timestamp value
Example Use Cases:
-- Monthly sales analysis
-- Find records for specific month
-- Get season statistics
Notes:
Behavior: Returns NULL if input is NULL
Performance Considerations: May affect index usage
Version Info: Core function available in most DBMS
Deprecated/Recommended Alternatives: Some DBMS prefer EXTRACT()
Error Handling:
Error: Returns NULL for invalid dates
Recommendation: Validate date format before extraction
Supported Databases:
DBMS
Function / Syntax
Example
Behavior with NULL
MySQL
MONTH()
MONTH(date)
Returns NULL
PostgreSQL
EXTRACT(MONTH FROM)
EXTRACT(MONTH FROM date)
Returns NULL
SQL Server
MONTH()
MONTH(date)
Returns NULL
SQLite
strftime('%m')
strftime('%m', date)
Returns NULL
BigQuery
EXTRACT(MONTH FROM)
EXTRACT(MONTH FROM date)
Returns NULL
Snowflake
MONTH()
MONTH(date)
Returns NULL
Athena
EXTRACT(MONTH FROM)
EXTRACT(MONTH FROM date)
Returns NULL