2014-11-05 2 views
0

두 날짜 간의 날짜 차이를 계산해야하는데 그 점을 알아 냈습니다 DB2에 DATEDIFF() 함수가 없습니다.DB2의 요일 차이점

(DAYOFYEAR(date1)-DAYOFYEAR(date2)+(YEAR(date1)-YEAR(date2))*365) 

이 분명 윤년 작동하지 않습니다,하지만 난 그 처리하지 않습니다

나는 그렇게 그 일을 시도.

나는 date1이 항상 date2보다 늦다는 것을 알고 있습니다.

내 논리에 결함이 있습니까? 작동하지 않습니다 (운동이며 결과를 테스트 할 수있는 기능이 있습니다). 더 쉬운 방법이 있습니까?

감사합니다.

+0

작동하지 않는 경우 (방법, 어떻게?) 논리에 결함이있는 것 같습니다. – mustaccio

+0

테스트 함수가 얻는 결과와 다른 결과를 얻습니다. 내가 의미하는 바는 : 일일 차이를 정확하게 계산하는 방법이 맞습니까? 그렇다면, 내 쿼리에 다른 실수가 있지만 계산이 잘못되면 검색하는 데 아무런 의미가 없습니다. –

답변

1

사용중인 DB2 버전과 실행중인 플랫폼을 알면 도움이 될 것입니다.

select 
     days(my1stdate) - days(my2nddate) as myDuration 
from mySchema.myTable 

일() 함수는 1 월 1 일 0001 사이의 날짜 수와 공급 DATE 값에 날짜 값을 변환 :하지만 당신이 이런 일을 할 수있는 것으로 보인다. 두 날짜가 모두 변환되면 빼기 (차이)는 간단합니다.

+0

Didnt는이 기능을 알고 있습니다. 작동 중입니다. 감사합니다. –