ORACLE 두 날짜 간 일 수 연산 : TRUNC(DATE) 활용
2018. 1. 23. 18:15ㆍ모두모두 개발자다요/DATABASE
현재날짜 2018년 01월 24일
값 : '20180124' (YYYYMMDD 형식의 문자열)
마감일자 : 2018년 01월 25일
값 : '20180125'
고정된 YYYYMMDD 형식의 주어진 문자열로 D-DAY 값을 구한다면 다음과 같이 빼면 그만이다.
SELECT TO_DATE('20180125', 'YYYYMMDD') - TO_DATE('20180124', 'YYYYMMDD') FROM DUAL
== > 결과 : 1
만약, 현재일시 SYSDATE 기준으로 마감일자와의 차이 D-DAY 값을 구한다면
SELECT TO_DATE('20180125', 'YYYYMMDD') - SYSDATE FROM DUAL
==> 결과 : 0.4654513888888888888888888888888888888889
정확히 2018년 01월 24일 00 시 00 분 00 초 시점이 지난 이후에는 값이 1 이 아닌 0.xxxxxx 값이 나온다.
빼기 연산 이전에 TRUNC 함수로 SYSDATE 의 일(DD) 아래 초단위 값을 절삭 처리 후 연산해야 일반적인 D-DAY 값을 구할 수 있다.
SELECT TO_DATE('20180125', 'YYYYMMDD') - TRUNC(SYSDATE) FROM DUAL
반응형
'모두모두 개발자다요 > DATABASE' 카테고리의 다른 글
오라클 달력 SQL (0) | 2018.02.21 |
---|---|
윈도우 mysql 설정 파일 my.ini 파일 위치 (0) | 2017.12.30 |
[oracle] NULL 값 정렬 핸들링 (0) | 2017.05.17 |
mysql 테이블 대소문자 구분 변경 (0) | 2017.03.28 |
[mysql]DB dump 뜨기 (export) 이후 import (0) | 2015.12.10 |