database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 41157 게시물 읽기
No. 41157
VARCHAR2에 들어있는 년월일시분초 값에 대한 시간차이 계산
작성자
초보
작성일
2016-05-20 11:08
조회수
8,521

 안녕하세요. 질문이 있습니다.

VARCHAR2에 년월일시분초 값이 TO_CHAR(SYSDATE,  'YYYYMMDDHH24MISS') 형식으로 들어있습니다.

예를 들어 (TO_DATE('20160520103830','YYYYMMDDHH24MISS') - TO_DATE('20160520103813','YYYYMMDDHH24MISS')) * 24 * 60 * 60 을 하면 눈으로 봤을 땐 30 - 13 = 17초 차이가 나와야 되는데 SQL_DEVELOPER 에서 수행하면 16.99999999999가 나옵니다.

 

어떤 이유에서 이런건지와 이걸 해결할려면 ROUND 씌우면 되는지 궁금합니다. ^^

이 글에 대한 댓글이 총 1건 있습니다.

날짜 - 날짜 = 일수 이고
일수 하나로 시,분,초 까지 표현하려면 소수점 이하로 표현할 수밖에 없죠.
소수 표현은 무한반복 되기도 하므로
실제 사용되는 유한 수치는 부정확 할수밖에 없습니다.
소수점 자리수까지 표현해서 계산하다 보면 오차가 발생되기 마련이죠.
ROUND 로 보정하시면 됩니다.

마농(manon94)님이 2016-05-20 13:12에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
411603개월 연속 발생건수 체크 관련 문의 드립니다. [1]
김혜진
2016-05-20
8146
41159varchar2 컬럼에 unicode로 입력된 데이터를 한글로 변환할 수 있을까요? [1]
정다이
2016-05-20
8358
41158proc 옵션 선택시 ANSI 메시지
김효성
2016-05-20
7693
41157VARCHAR2에 들어있는 년월일시분초 값에 대한 시간차이 계산 [1]
초보
2016-05-20
8521
41156(급)오라클 SQL 튜닝 도움이 필요합니다..
오라클 초짜
2016-05-18
8837
41155오라클서버시간 [1]
오라클초보
2016-05-18
7694
41154웹에서 프로시져 호출시
진재복
2016-05-12
7726
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.055초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다