Study📚/Oracle
Oracle - 허얼마나 남았나...
woo!na
2023. 10. 29. 18:36
현재 날짜 및 시간으로부터 특정일(2024-03-19 18:00:00) 까지 남은 기간과 시간을 조회할 수 있도록 쿼리문을 구성한다.
--방법1
SELECT SYSDATE "현재 날짜"
, TO_DATE('2024-03-19 18:00:00', 'YYYY-MM-DD HH24:MI:SS') "특정 날짜"
, TRUNC(TO_DATE('2024-03-19 18:00:00', 'YYYY-MM-DD HH24:MI:SS')-SYSDATE) "일"
, TRUNC(MOD((TO_DATE('2024-03-19 18:00:00', 'YYYY-MM-DD HH24:MI:SS')-SYSDATE),1)*24) "시간"
, TRUNC(MOD((TO_DATE('2024-03-19 18:00:00', 'YYYY-MM-DD HH24:MI:SS')-SYSDATE)*24,1)*60) "분"
, TRUNC(MOD((TO_DATE('2024-03-19 18:00:00', 'YYYY-MM-DD HH24:MI:SS')-SYSDATE)*24*60,1)*60) "초"
FROM DUAL;
--방법2
SELECT SYSDATE "현재 시간"
, TO_DATE('2024-03-19 18:00:00', 'YYYY-MM-DD HH24:MI:SS') "특정 날짜"
, TRUNC(TRUNC(TRUNC(((TO_DATE('2024-03-19 18:00:00', 'YYYY-MM-DD HH24:MI:SS') - SYSDATE) * (24 * 60 * 60))/60)/60)/24) "일"
, MOD(TRUNC(TRUNC(((TO_DATE('2024-03-19 18:00:00', 'YYYY-MM-DD HH24:MI:SS') - SYSDATE) * (24 * 60 * 60))/60)/60), 24) "시간"
, MOD(TRUNC(((TO_DATE('2024-03-19 18:00:00', 'YYYY-MM-DD HH24:MI:SS') - SYSDATE) * (24 * 60 * 60))/60), 60) "분"
, TRUNC(MOD(((TO_DATE('2024-03-19 18:00:00', 'YYYY-MM-DD HH24:MI:SS') - SYSDATE) * (24 * 60 * 60)), 60)) "초"
-- 초 계산할 때 TRUNC 를 MOD 안으로 넣으면 다른 방법이 아니라 틀린 방법
FROM DUAL;
이거 하다가 정말 나의 근본부터 미워지기 시작함
하지만 극복해냈죠...
ㄴ 정말요?ㅜ
태어난 날짜 및 시각으로부터 현재까지 얼마만큼의 시간을 살고 있는지 위와 같은 형태로 조회할 수 있게 쿼리문을 구성한다.
SELECT SYSDATE "현재 시간"
, TO_DATE('1999-09-16 09:15:00', 'YYYY-MM-DD HH24:MI:SS') "생년월일"
, TRUNC(TRUNC(TRUNC((SYSDATE - TO_DATE('1999-09-16 09:15:00', 'YYYY-MM-DD HH24:MI:SS')) * (24 * 60 * 60)/60)/60)/24) "일"
, MOD(TRUNC(TRUNC((SYSDATE - TO_DATE('1999-09-16 09:15:00', 'YYYY-MM-DD HH24:MI:SS')) * (24 * 60 * 60)/60)/60), 24) "시간"
, MOD(TRUNC((SYSDATE - TO_DATE('1999-09-16 09:15:00', 'YYYY-MM-DD HH24:MI:SS')) * (24 * 60 * 60)/60), 60) "분"
, TRUNC(MOD((SYSDATE - TO_DATE('1999-09-16 09:15:00', 'YYYY-MM-DD HH24:MI:SS')) * (24 * 60 * 60), 60)) "초"
FROM DUAL;