1. EOMONTH 함수 (해당월의 마지막 날짜를 반환)
-- 날짜변수 선언/할당 (윤달로 테스트 진행)
declare @SampleDate datetime = '2012-02-14'
SELECT cast(convert(varchar(7), dateadd(month, 1, @SampleDate), 120) + '-01' as datetime) -1 AS LastDayOfMonth
-- SQL Server 2011 (Denali)
SELECT EOMONTH(@SampleDate) AS LastDayOfMonth
-- 결과
2. FORMAT 함수 (날짜/시간, 숫자값을 원하는 문자열 포맷으로 보여줌)
declare @CurrentDay datetime = getdate()
-- SQL Server 2008 이하 버전에서 날짜,시간을 붙여서 보여주고 싶은 경우 replace 함수를 활용하여 구현
select replace(replace(replace(convert(varchar(16), @CurrentDay, 120), '-', ''), ':', ''), ' ', '') as CurrentDay
-- SQL Server 2011 (Denali)
select format(@CurrentDay, 'yyyyMMddHHmm', 'ko-kr') as CurrentDay
-- 결과
-- 의견
오라클에서는 날짜를 내가 원하는 포맷으로 변형하기가 쉬웠는데, mssql로 오면서 제한된 format 내에서 사용하려고 하니
약간 번거로운 면이 있었습니다. 이번에 format 함수가 나와서 한결 편하게 개발이 가능할 것 같네요.
1. SQL Server 2011 날짜함수 도움말
2. EndOfMonth Function Article
3. Format Function Article