SQL Server 2012 버전부터 월의 마지막 일자를 구할 수 있는 EOMONTH() 함수가 추가되었다. 오라클 SQL의 LAST_DAY와 동일한 기능을 수행하는 함수이다.
월의 마지막 날짜 구하기 (SQL Server 2012 이상)
SELECT EOMONTH('2020-09-09') AS result
SQL Server 2012 버전부터 EOMONTH (End of Month) 함수를 사용하여 간편하게 해당 일자 기준으로 해당 월의 마지막 날짜를 구할 수 있다.
월의 마지막 날짜 구하기 (SQL Server 모든 버전)
SELECT DATEADD (DAY, -1, DATEADD (MONTH, DATEDIFF (MONTH, 0, '2020-09-09') + 1, 0)) AS result
SELECT DATEADD(MONTH, DATEDIFF(MONTH, 0, '2020-09-09') + 1, 0) - 1 AS result
SQL Server 2012 이전 버전이라면 위의 2가지 방법중 하나를 사용하여 해당 월의 마지막 날짜를 구할 수 있다.
사용 예제