2013-06-09 1 views
2

오라클이 날짜에 산술 연산을 수행하는 방식에 관한 질문이 있습니다 (10g 데이터베이스에 연결). 다음 쿼리를 감안할 때 :예기치 않게 큰 숫자를 반환하는 Oracle 날짜 산법

내 경험 (DATEX 이전 DateY 일 이내의 부정적인 #이 반환 될 경우) 오라클은 두 날짜 사이의 날짜 차이의 수를 반환 믿고 저를 주도하고있다
select DateX - DateY as Number_Of_Days from table 

.

내 쿼리에서 대부분의 레코드가 반환되는 경우에 해당됩니다. 그러나 DateX = 19-JUN-08 및 DateY = 19-May-08의 데이터 집합에 하나의 레코드가 있고이 두 데이터를 뺀 값은 365268입니다.

아이디어가 있습니까?

+1

365268은 1000 년 동안의 일 수와 매우 비슷합니다. 그럴 수는 없지, 그렇지? – John

+0

DateX 및 DateY의 데이터 유형은 무엇입니까? 게시물'CREATE TABLE'. 또한 해당 행에 대한 SELECT TO_CHAR (DateX, 'MM-DD-YYYY') DateX, TO_CHAR (DateY, 'MM-DD-YYYY') DateX FROM table'의 결과를 게시하십시오. – peterm

+0

Y2K가 다시 공격합니다. –

답변

4

나는 그것을 찌를 것이다. 나는 당신이 실제로 다른 날짜로 5 월 19 일, 1008을 가지고 있다고 생각합니다.

WolframAlpha.com은 2008 년 5 월 19 일부터 2008 년 6 월 19 일까지 365,274 일을 제공합니다. 그러나 거기에 이상한 날들이 있습니다. 1100 년, 1300 년, 1400 년, 1500 년, 1700 년, 1800 년 및 1900 년은 윤년이 아니 었습니다. 그것은 7 일 간의 차이입니다. 이것은 거의 필요한 곳입니다.

+0

그게 다야! 한 추출 (년에서 DateY) 및 1008 반환했습니다. 감사! – NevDull

+0

당신을 진심으로 환영합니다. 나는 복서 번호로 투시력을 발휘할 수 있었으면 좋겠다. ;) – John

+0

아 ... 그리고 위대한 첫 번째 질문. 스택 오버플로에 오신 것을 환영합니다. – John

관련 문제