오라클 Oracle 날짜타입 가지고 놀기


쿼리를 수행하다 보면, 날짜와 관련된 정보를 조회하거나 변경해야 하는 경우가 상당히 많습니다.

오늘은 이런 경우 날짜 타입에 대한 사용법 몇 가지를 알아보겠습니다.

 

 기본적으로 SYSDATE를 가져오는 쿼리 입니다.

 

SELECT SYSDATE FROM DUAL

 

 

 SYSDATE

 1

 2013/12/24 09:59:57

 

 DATE 타입을 CHAR 타입으로 변경하는 방법입니다.


SELECT TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') SYS_DATE24 FROM DUAL


 

 SYS_DATE24

 1

 20131224130309

 

※ 12시간제로 가져와야 할 경우, 'YYYYMMDDHH12MISS' 로 변경해서 쓰시면 됩니다.


SELECT TO_CHAR(SYSDATE, 'YYYYMMDDHH12MISS') SYS_DATE12 FROM DUAL

 

 

 SYS_DATE12

 1

 20131224010309

 

 CHAR 타입을 DATE 타입으로 변경하는 방법입니다.


SELECT TO_DATE('20131224133159', 'YYYYMMDDHH24MISS') SYS_DATE FROM DUAL

 

 

 SYS_DATE

 1

 2013/12/24 13:31:59



 날짜 형식의 일부만 가져오는 방법입니다.


 우선 년을 가져오기 입니다.  


SELECT TO_CHAR(SYSDATE, 'YYYY') SYS_YEAR4 FROM DUAL


 

 SYS_YEAR4

 1

 2013


SELECT TO_CHAR(SYSDATE, 'YY') SYS_YEAR2 FROM DUAL


 

 SYS_YEAR2

 1

 13

 

 다음으로는 월(MONTH)과 분(MINUTE)의 구분입니다.  


SELECT TO_CHAR(SYSDATE, 'MM') SYS_MONTH FROM DUAL

 

 

 SYS_MONTH

 1

 12


SELECT TO_CHAR(SYSDATE, 'MI') SYS_MINUTE FROM DUAL

 

 

 SYS_MINUTE

 1

 10

 

 시간을 가져오는 쿼리 입니다.   


SELECT TO_CHAR(SYSDATE, 'HH24') SYS_TIME24 FROM DUAL


 

 SYS_TIME24

 1

 13

 

※ 12시간제가 필요하신 경우 24를 12로 변경해 주시면 됩니다.

SELECT TO_CHAR(SYSDATE, 'HH12') SYS_TIME12 FROM DUAL


 

 SYS_TIME12

 1

 01

 

 날짜에 시간을 더하고 빼는 방법입니다.

 

  SELECT SYSDATE - 1 M_DAY FROM DUAL 

 

여기서의 -1은 1DAY 즉, 하루를 빼는 것입니다.

 

 SELECT SYSDATE - (1/24) M_TIME FROM DUAL             ☞ 시간

 SELECT SYSDATE - (1/1440) M_MINUTE FROM DUAL      ☞ 분

 SELECT SYSDATE - (1/86400) M_SECOND FROM DUAL   ☞ 초

 

이렇게 계산하시면 됩니다.

 

만약 초의 소수점까지 계산하는 방법을 알고싶으시면...

[오라클|Oracle]시간타입 소수점까지 제어하기 - TO_TIMESTAMP ☜ 포스트에서 확인해 보세요

 

 

Posted by 쭈니루
TAG

댓글을 달아 주세요

  1. 야~ 복사하기 기능좀 풀어라~

    야~ 복사하기 기능좀 풀어라~

    아님 비밀글로 쓰던가

    2017.07.14 10:26 [ ADDR : EDIT/ DEL : REPLY ]