다음을 통해 공유


EOMONTH(Transact-SQL)

적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

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

SQL Server 2022(16.x) 이상 버전에서는 DATETRUNC를 사용하여 월의 시작을 계산할 수 있습니다.

Transact-SQL 구문 표기 규칙

구문

EOMONTH ( start_date [ , month_to_add ] )

인수

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/2024';

SELECT EOMONTH(@date) AS Result;
GO

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

Result
------------
2024-12-31

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

DECLARE @date VARCHAR(255) = '12/1/2024';

SELECT EOMONTH(@date) AS Result;
GO

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

Result
------------
2024-12-31

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

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

DECLARE @date DATETIME = '2024-12-31';

SELECT EOMONTH(@date) AS 'This Month';
SELECT EOMONTH(@date, 1) AS 'Next Month';
SELECT EOMONTH(@date, -1) AS 'Last Month';
GO

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

This Month
-----------------------
2024-12-31

Next Month
-----------------------
2025-01-31

Last Month
-----------------------
2024-11-30