EOMONTH(Transact-SQL)EOMONTH (Transact-SQL)

이 항목은 다음에 적용됩니다.예SQL Server(2012부터 시작)예Azure SQL Database예Azure SQL Data Warehouse 예병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO:yesSQL Server (starting with 2012)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

이 함수는 선택 사항인 오프셋 옵션을 사용하여 지정한 날짜가 포함된 달의 마지막 날을 반환합니다.This function returns the last day of the month containing a specified date, with an optional offset.

항목 링크 아이콘 Transact-SQL 구문 규칙Topic link icon Transact-SQL Syntax Conventions

구문Syntax

EOMONTH ( start_date [, month_to_add ] )  

인수Arguments

start_datestart_date
달의 마지막 날을 반환하는 날짜를 지정하는 날짜 식입니다.A date expression that specifies the date for which to return the last day of the month.

month_to_addmonth_to_add
start_date에 추가할 개월 수를 지정하는 선택적 정수 식입니다.An optional integer expression that specifies the number of months to add to start_date.

month_to_add 인수가 값을 가지면 EOMONTH는 지정한 개월 수를 start_date에 추가한 다음, 결과 날짜에 해당하는 달의 마지막 날을 반환합니다.If the month_to_add argument has a value, then EOMONTH adds the specified number of months to start_date, and then returns the last day of the month for the resulting date. 추가로 인해 유효한 날짜 범위를 벗어날 경우 EOMONTH는 오류를 발생시킵니다.If this addition overflows the valid range of dates, then EOMONTH will raise an error.

반환 형식Return Type

datedate

RemarksRemarks

EOMONTH 함수는 SQL Server 2012(11.x)SQL Server 2012 (11.x) 서버 이상 버전에 대해서는 원격으로 실행할 수 있습니다.The EOMONTH function can remote to SQL Server 2012(11.x)SQL Server 2012 (11.x) servers and higher. SQL Server 2012(11.x)SQL Server 2012 (11.x) 이전 버전의 서버에 대해서는 원격으로 실행할 수 없습니다.It cannot be remote to servers with a version lower than SQL Server 2012(11.x)SQL Server 2012 (11.x).

Examples

1.A. 명시적 datetime 형식을 사용하는 EOMONTHEOMONTH with explicit datetime type

DECLARE @date DATETIME = '12/1/2011';  
SELECT EOMONTH ( @date ) AS Result;  
GO  

결과 집합은 다음과 같습니다.Here is the result set.

Result  
------------  
2011-12-31  

(1 row(s) affected)  

2.B. 문자열 매개 변수 및 암시적 변환을 사용하는 EOMONTHEOMONTH with string parameter and implicit conversion

DECLARE @date VARCHAR(255) = '12/1/2011';  
SELECT EOMONTH ( @date ) AS Result;  
GO  

결과 집합은 다음과 같습니다.Here is the result set.

Result  
------------  
2011-12-31  

(1 row(s) affected)  

3.C. month_to_add 매개 변수를 사용하거나 사용하지 않는 EOMONTHEOMONTH with and without the month_to_add parameter

참고: 이러한 결과 집합에 표시된 값은 실행 날짜를 반환합니다.Note: the values shown in these result sets reflect an execution date between and including

    12/01/2011

    and

    12/31/2011
DECLARE @date DATETIME = GETDATE();  
SELECT EOMONTH ( @date ) AS 'This Month';  
SELECT EOMONTH ( @date, 1 ) AS 'Next Month';  
SELECT EOMONTH ( @date, -1 ) AS 'Last Month';  
GO  

결과 집합은 다음과 같습니다.Here is the result set.

This Month  
-----------------------  
2011-12-31  

(1 row(s) affected)  

Next Month  
-----------------------  
2012-01-31  

(1 row(s) affected)  

Last Month  
-----------------------  
2011-11-30  

(1 row(s) affected)