쿼리로 시간차 계산시 날짜를 문자로 바꾼뒤 마이너스 연산한 값을 사용한 경우가 가끔 보이던데,
의외로 이같은 실수를 저지르는 개발자들이 상당히 있는데다가
오류가 쉽게 드러나지 않아 모르고 지나쳐버리는 경우도 꽤 많습니다.
하지만 이런 코드는 심각한 오류를 가지고 있으므로 반드시 수정되야합니다.
두 경우 모두 결과 값이 1로 나오길 기대하겠지만 두번째 경우는 41이라는 결과가 나오게 됩니다.
문자간 마이너스 연산시 오라클이 문자를 숫자로 취급하는데,
이때 숫자를 10진수로 처리하기 때문에 의도와는 달리 완전히 다른 계산 결과가 나와버린 것 입니다.
오라클에서 시간차를 구하려면 날짜간 마이너스 연산 후 단위를 변환해야 올바른 결과를 얻을 수 있습니다.
(날짜차이, 달수 차이등은 이전 포스팅 참조하세요.)
'IT > 오라클' 카테고리의 다른 글
오라클에서 길이가 없는 문자열은 null 이다. (0) | 2011.07.01 |
---|---|
데이터베이스 변경(버전) 관리 (0) | 2010.05.07 |
랜덤 값 입력하기 (0) | 2010.05.04 |
Oracle Tip #1 : 날짜다루기 기본 (0) | 2010.03.18 |