004. SYSDATE

IRISH·2024년 2월 26일
0

Oracle

목록 보기
6/17
post-thumbnail
  • 학습일자 : 2024.02.26 - 2024.02.27

SYSDATE란

  • 데이터베이스 서버가 실행 중인 시스템의 현재 날짜와 시간을 반환하는 함수
  • SYSDATE는 날짜와 시간 데이터 유형으로, 다양한 날짜 및 시간 관련 연산에 사용할 수 있음
  • 시스템의 날짜와 시간 설정에 따라 동적으로 변화하며, 보고서 생성, 데이터 추적, 시간 기반 조건 처리 등에 유용하게 사용됨

연습

→ 기초

SELECT SYSDATE FROM DUAL; -- 24/02/27

SELECT SYSDATE + 7 AS "One Week Later" FROM DUAL; -- 24/03/05

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS "Formatted Date" FROM DUAL; 
-- 2024-02-27 00:27:13

→ 두 일자 간 차이 구하기

SELECT SYSDATE,
       TO_DATE('2024-12-31', 'YYYY-MM-DD') AS "Target Date",
       TO_DATE('2024-12-31', 'YYYY-MM-DD') - SYSDATE AS "Days Until Target" 
FROM DUA

→ 결과 포맷 변형하기

-- (시간만 반환 (24시간포멧), ex> 16:53:43);
SELECT TO_CHAR(SYSDATE, 'HH24:MI:SS') FROM DUAL; 

-- (시간만 반환, ex> 04:53:43);
SELECT TO_CHAR(SYSDATE, 'HH:MI:SS') FROM DUAL;

-- (날짜만 반환, ex> 20140416)
SELECT TO_CHAR(SYSDATE, 'YYYYMMDD') FROM DUAL;
  • TO_CHAR 함수
    • 임의의 데이터를 문자형 데이터타입으로 변경하는 함수
    • 반환된 날짜 포멧을 유저가 원하는 스타일로 바꿔서 가져올 수 있음

→ 이번주의 각 일자 구하기

-- 이번주 주간날짜
SELECT SYSDATE 오늘
    ,TRUNC(sysdate,'iw'),TRUNC(sysdate,'iw')+1,TRUNC(sysdate,'iw')+2,TRUNC(sysdate,'iw')+3,TRUNC(sysdate,'iw')+4,TRUNC(sysdate,'iw')+5,TRUNC(sysdate,'iw')+6FROM DUAL;

  • TRUNC
    • 절사 함수 [날짜, 시간, 요일, 숫자]

→ 올해 연도 추출하기

SELECT TO_CHAR(EXTRACT(YEAR FROM SYSDATE)) AS YEAR
  FROM DUAL;  -- 2024
  • EXTRACT
    • 내용 : 입력된 날짜에서 추출하고자 하는 연도,월,시간,분 초 등을 반환하는 함수

느낀점

⇒ 실무에서 매우 많이 쓰인다. SYSDATE의 복잡한 것까지 빈번히 나오기 때문에 자주 쿼리 공부를 하는 것이 좋을 것 같다.

profile
#Software Engineer #IRISH

0개의 댓글

관련 채용 정보