두날짜 사이의 년월일을 구하는 건데요. 윤달이 낀 연도 체크나 간단한 함수가 있는지 알고 싶습니다.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
declare @fromdate varchar(8),
@todate varchar(8)
set @fromdate = '19990326'
set @todate = '20090326'
select convert(varchar,datediff (dd,@fromdate, case when isnull(@todate,'') = '' then convert(varchar,getdate() ,112) else @todate end ) /365 ) + ' 년 '
+ convert(varchar,(convert(varchar, datediff (dd,@fromdate, case when isnull(@todate,'') = '' then convert(varchar,getdate() ,112) else @todate end ) %365)/30)) + ' 월 '
+ convert(varchar,(convert(varchar, datediff (dd,@fromdate, case when isnull(@todate,'') = '' then convert(varchar,getdate() ,112) else @todate end ) %365)%30)) + ' 일 '
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
위와 같이 두날짜 사이의 기간을 xx년 xx월 xx일로 구하는건데요...
답이 맞지가 않네요... 윤달이 낀 해가 들어가면 +1이 되는데...
1999년3월26일 부터 2009년3월26일이 10년 0월 1일이 나와야 하는데... 10년 0월 3일 나오네요...
윤달 때문에 그런것 같은데... 이건 어떻게 처리해야 하나요?
위에 소스 간단하게 할수 있는 방법 있을까요?
고수님들 도와주세요.... |