본문 바로가기
IT/오라클

시간을 시간답게 다뤄주세요 - 시간차 계산시 주의점

by yjacket 2013. 8. 1.



쿼리로 시간차 계산시 날짜를 문자로 바꾼뒤 마이너스 연산한 값을 사용한 경우가 가끔 보이던데, 

의외로 이같은 실수를 저지르는 개발자들이 상당히 있는데다가 

오류가 쉽게 드러나지 않아 모르고 지나쳐버리는 경우도 꽤 많습니다.

하지만 이런 코드는 심각한 오류를 가지고 있으므로 반드시 수정되야합니다.



두 경우 모두 결과 값이 1로 나오길 기대하겠지만 두번째 경우는 41이라는 결과가 나오게 됩니다.

문자간 마이너스 연산시 오라클이 문자를 숫자로 취급하는데, 

이때 숫자를 10진수로 처리하기 때문에 의도와는 달리 완전히 다른 계산 결과가 나와버린 것 입니다.


오라클에서 시간차를 구하려면 날짜간 마이너스 연산 후 단위를 변환해야 올바른 결과를 얻을 수 있습니다.



(날짜차이, 달수 차이등은 이전 포스팅 참조하세요.)