title: "MONTH (Transact-SQL) | Microsoft Docs" ms.custom: "" ms.date: "03/14/2017" ms.prod: "sql" ms.prod_service: "database-engine, sql-database, sql-data-warehouse, pdw" ms.service: "" ms.component: "t-sql|functions" ms.reviewer: "" ms.suite: "sql" ms.technology:
- "database-engine" ms.tgt_pltfrm: "" ms.topic: "language-reference" f1_keywords:
- "MONTH_TSQL"
- "MONTH" dev_langs:
- "TSQL" helpviewer_keywords:
- "values [SQL Server], date and time"
- "dates [SQL Server], functions"
- "month of year [SQL Server]"
- "date and time [SQL Server], MONTH"
- "dateparts [SQL Server], month"
- "functions [SQL Server], date and time"
- "dates [SQL Server], MONTH"
- "MONTH function [SQL Server]" ms.assetid: 9dd8aff7-b0fc-45df-b316-ead14ee9b8b7 caps.latest.revision: 29 author: "edmacauley" ms.author: "edmaca" manager: "craigg" ms.workload: "Active" monikerRange: ">= aps-pdw-2016 || = azuresqldb-current || = azure-sqldw-latest || >= sql-server-2016 || = sqlallproducts-allversions"
[!INCLUDEtsql-appliesto-ss2008-all-md]
Returns an integer that represents the month of the specified date.
For an overview of all [!INCLUDEtsql] date and time data types and functions, seeDate and Time Data Types and Functions (Transact-SQL).
Transact-SQL Syntax Conventions
MONTH ( date )
date
Is an expression that can be resolved to a time, date, smalldatetime, datetime, datetime2, or datetimeoffset value. The date argument can be an expression, column expression, user-defined variable, or string literal.
int
MONTH returns the same value as DATEPART (month, date).
If date contains only a time part, the return value is 1, the base month.
The following statement returns 4. This is the number of the month.
SELECT MONTH('2007-04-30T01:01:01.1234567 -07:00');
The following statement returns 1900, 1, 1. The argument for date is the number 0. [!INCLUDEssNoVersion] interprets 0 as January 1, 1900.
SELECT YEAR(0), MONTH(0), DAY(0);
The following example returns 4. This is the number of the month.
-- Uses AdventureWorks
SELECT TOP 1 MONTH('2007-04-30T01:01:01.1234')
FROM dbo.DimCustomer;
The following example returns 1900, 1, 1. The argument for date is the number 0. [!INCLUDEssNoVersion] interprets 0 as January 1, 1900.
-- Uses AdventureWorks
SELECT TOP 1 YEAR(0), MONTH(0), DAY(0) FROM dbo.DimCustomer;