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;

 

 

'Study📚 > Oracle' 카테고리의 다른 글

Oracle - 문자열 함수  (0) 2023.11.05
Oracle - INSERT, UPDATE, DELETE, ORDER BY 절  (0) 2023.11.05
Oracle - 날짜 다루기  (0) 2023.10.29
Oracle - NVL(), NVL2(), COALESCE(), 문자열 다루기  (1) 2023.10.24
Oracle - SELECT 문 관찰  (1) 2023.10.22