ORACLE

 오라클 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   ☞ 초

 

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

 

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

 

about author

PHRASE

Level 60  머나먼나라

사또 떠난 뒤에 나팔 분다 , 마땅히 하여야 할 일을 제때가 지난 뒤에야 함을 조롱하여 이르는 말.

댓글 ( 4)

댓글 남기기

작성