EOMONTH(Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System(PDW)

이 함수는 선택 사항인 오프셋 옵션을 사용하여 지정한 날짜가 포함된 달의 마지막 날을 반환합니다.

DATETRUNC를 사용하여 월의 시작을 계산할 수 있습니다.

Transact-SQL 구문 표기 규칙

Syntax

EOMONTH ( start_date [ , month_to_add ] )

참고 항목

SQL Server 2014(12.x) 및 이전 버전에 대한 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조 하세요.

인수

start_date

달의 마지막 날을 반환하는 날짜를 지정하는 날짜 식입니다.

month_to_add

start_date에 추가할 개월 수를 지정하는 선택적 정수 식입니다.

month_to_add 인수가 값을 가지면 EOMONTH는 지정한 개월 수를 start_date에 추가한 다음, 결과 날짜에 해당하는 달의 마지막 날을 반환합니다. 이 추가가 유효한 날짜 범위를 오버플로하면 EOMONTH 오류가 발생합니다.

반환 형식

date

설명

이 함수는 EOMONTH SQL Server 2012(11.x) 이상 버전을 실행하는 인스턴스에 원격으로 연결할 수 있습니다. SQL Server 2012(11.x) 이전 버전의 인스턴스에 원격으로 연결할 수 없습니다.

예제

A. 명시적 datetime 형식을 사용하는 EOMONTH

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

결과 집합은 다음과 같습니다.

Result
------------
2022-12-31

(1 row(s) affected)

B. 문자열 매개 변수 및 암시적 변환을 사용하는 EOMONTH

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

결과 집합은 다음과 같습니다.

Result
------------
2022-12-31

(1 row(s) affected)

C. month_to_add 매개 변수를 사용하거나 사용하지 않는 EOMONTH

이러한 결과 집합에 표시된 값은 12/01/202212/31/2022 사이의 실행 날짜(두 날짜 포함)를 반영합니다.

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

결과 집합은 다음과 같습니다.

This Month
-----------------------
2022-12-31

(1 row(s) affected)

Next Month
-----------------------
2022-01-31

(1 row(s) affected)

Last Month
-----------------------
2022-11-30

(1 row(s) affected)