DataBase/Oracle

[Oracle] 날짜 함수 SYSDATE 사용법

mingmongs 2025. 5. 27. 12:34

title

Oracle에서 현재 날짜 및 시간을 조회할 때 SYSDATE 함수를 사용한다.
쿼리에 날짜 조건을 사용하는 경우가 많기 때문에, 날짜 함수를 잘 활용할 수 있어야 한다.

 

1) SYSDATE

: 시스템의 현재 날짜 및 시간(yyyy-mm-dd hh24:mi:ss)을 반환한다.

  • date 타입으로 시간 데이터를 가지고 있음
  • '+', '-' 연산자로 날짜를 더하기 빼기 연산할 수 있음
SELECT SYSDATE AS TODAY,
    SYSDATE + 1 AS TOMORROW,
    SYSDATE - 1 AS YESTERDAY
FROM DUAL;


결과값

img1

 

2) 날짜 포맷 정하기 (TO_CHAR 함수)

: TO_CHAR() 함수를 통하여 SYSDATE의 포맷을 다양하게 설정할 수 있다.

-- 포맷을 정하여 날짜 출력
SELECT SYSDATE
     , TO_CHAR(SYSDATE, 'YYYY') AS "연도"
     , TO_CHAR(SYSDATE, 'MM') AS "월"
     , TO_CHAR(SYSDATE, 'DD') AS "일" 
     , TO_CHAR(SYSDATE, 'HH24') AS "시간"
     , TO_CHAR(SYSDATE, 'MI') AS "분"
     , TO_CHAR(SYSDATE, 'SS') AS "초"
     , TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS "전체날짜"
FROM DUAL;

 

결과값

 

img2

 

3) 이번달 시작일자, 마지막일자 가져오기

-- 이번달 시작일 가져오기
SELECT TO_CHAR(SYSDATE, 'YYYY-MM') || '-01' AS 이번달시작일1
     , TO_CHAR(SYSDATE, 'YYYY/MM') || '/01' AS 이번달시작일2
FROM DUAL;

 

결과값

 

img3

 

-- 이번달 마지막일 가져오기
SELECT TO_CHAR(LAST_DAY(SYSDATE), 'YYYY-MM-DD') AS 이번달마지막일1
     , TO_CHAR(LAST_DAY(SYSDATE), 'YYYY/MM/DD') AS 이번달마지막일2
FROM DUAL;

 

결과값

 

img4

 

 

 

[reference]
https://code-lab1.tistory.com/371
https://gent.tistory.com/609