[Oracle] 오라클 날짜를 계산하는 다양한 방법 (연산자, 함수)

날짜 계산 (연산자)

SELECT 
SYSDATE + 100, --현재날짜 +100일
SYSDATE - 100, --현재날짜 -100일
SYSTIMESTAMP + 100, --현재날짜 +100일
SYSTIMESTAMP - 100 --현재날짜 -100일
FROM
DUAL

연산자

위와같이 + , - 연산자를 활용하여 간단한 날짜 계산이 가능합니다.

 

날짜 계산 (함수)

SELECT 
ADD_MONTHS(SYSDATE,6), --현재시간 + 6개월 뒤
LAST_DAY(SYSDATE), --해당월 마지막 일자 계산
NEXT_DAY(SYSDATE,'일요일'), --다음 주 일요일 계산
MONTHS_BETWEEN(SYSDATE, SYSDATE-100) --DATE1과 DATE2의 개월 수 반환
FROM
DUAL

함수

  • ADD_MONTHS(date, integer) : ADD_MONTHS함수는 매개변수 DATE에 매개변수 INTEGER만큼의 월을 더한 날짜를 리턴합니다.

  • LAST_DATE(date) : LASTE_DAY함수는 현재 월의 마지막 일자를 리턴합니다.

    경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
    어린이용이며, 설치가 필요없는 브라우저 게임입니다.
    https://s1004games.com

  • NEXT_DAY(date, char) : NEXT_DAY함수는 매개변수 date의 다음 주 char(요일)의 날짜를 리턴합니다.

  • MONTHS_BETWEEN(date1, date2) : MONTHS_BETWEEN함수는 매개변수 date1과 date2 사이의 개월수를 리턴합니다.

 

다양한 날짜 계산 EXAMPLE

SELECT
TO_CHAR(SYSDATE ,'yyyy/mm/dd'), --오늘 날짜  
TO_CHAR(SYSDATE + 1 ,'yyyy/mm/dd'), --내일 날짜  
TO_CHAR(SYSDATE -1 ,'yyyy/mm/dd'), --어제 날짜  
TO_CHAR(TRUNC(SYSDATE,'dd') ,'yyyy/mm/dd hh24:mi:ss'), -- 오늘 정각 날짜
TO_CHAR(TRUNC(SYSDATE,'dd') + 1,'yyyy/mm/dd hh24:mi:ss'), -- 내일 정각 날짜
TO_CHAR(SYSDATE + 1/24/60/60 ,'yyyy/mm/dd hh24:mi:ss'), -- 1초 뒤 시간
TO_CHAR(SYSDATE + 1/24/60 ,'yyyy/mm/dd hh24:mi:ss'), -- 1분 뒤 시간
TO_CHAR(SYSDATE + 1/24 ,'yyyy/mm/dd hh24:mi:ss'), -- 1일 뒤 시간
TO_CHAR(TRUNC(SYSDATE,'mm') ,'yyyy/mm/dd'), --이번 달 시작날짜
TO_CHAR(LAST_DAY(SYSDATE) ,'yyyy/mm/dd'), --이번 달 마지막 날
TO_CHAR(trunc(ADD_MONTHS(SYSDATE, + 1),'mm') ,'yyyy/mm/dd'), --다음 달 시작날짜
TO_CHAR(ADD_MONTHS(SYSDATE, 1) ,'yyyy/mm/dd hh24:mi:ss'), -- 다음달 오늘 날자
TO_CHAR(TRUNC(SYSDATE, 'yyyy') ,'yyyy/mm/dd'), --올해 시작 일
TO_CHAR(TRUNC(ADD_MONTHS(SYSDATE, -12), 'dd'),'yyyy/mm/dd'), --작년 현재 일
TO_DATE(TO_CHAR(SYSDATE, 'YYYYMMDD')) - TO_DATE('19930315'), -- 두 날짜 사이 일수 계산
MONTHS_BETWEEN(SYSDATE, '19930315'), -- 두 날짜 사이의 월수 계산
TRUNC(MONTHS_BETWEEN(SYSDATE, '19930315')/12,0) --두 날짜 사이의 년수 계산
FROM
DUAL; 

[출처] https://coding-factory.tistory.com/440

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
공지 오라클 기본 샘플 데이터베이스 졸리운_곰 2014.01.02 87057
공지 [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE 가을의 곰을... 2013.02.10 79289
공지 [G_SQL] Sample Database 가을의 곰을... 2012.05.20 96021
102 [MYSQL] 테이블 스키마 설계 고려사항 졸리운_곰 2022.12.03 1332
101 [MySQL] "아는 만큼 빨라진다" 마이SQL 성능 튜닝 팁 10가지 file 졸리운_곰 2022.11.29 1065
100 [Mysql] mysql에서 json 다루기 file 졸리운_곰 2022.08.02 1225
99 [MySQL] MySQL 에서 JSON Data사용하기 졸리운_곰 2022.08.02 1392
98 [MySQL] 관리자 root , admin 계정 추가 : MySQL 관리자 계정 추가 졸리운_곰 2021.09.26 9257
97 [MySQL] mysql 에서 컬럼과 로우 바꾸기, 행과 열 바꾸기 How to Transpose Rows to Columns Dynamically in MySQL file 졸리운_곰 2021.09.13 1038
96 [MySQL] MySQL ROLLUP , summary, 부분합 구하기 file 졸리운_곰 2021.09.01 1640
95 [mysql] 인덱스 정리 및 팁 file 졸리운_곰 2020.12.04 1399
94 [MySQL] 복제 지연 원인 및 해결 (reason for mysql replication lag/delay) file 졸리운_곰 2020.07.18 1410
93 MySQL Replication(복제) file 졸리운_곰 2020.07.18 1806
92 MySQL replication을 해보자 졸리운_곰 2020.07.18 1697
91 MySQL Replication(복제) - 단방향 이중화 file 졸리운_곰 2020.07.18 856
90 [MySQL] 행, 열 바꾸어 출력하기 CASE ~ AS file 졸리운_곰 2020.06.13 1042
89 [MySQL] 피벗 - 로우 데이터를 컬럼으로 옮기기 file 졸리운_곰 2020.06.13 1365
88 MySQL (or MariaDB) 에서 row 데이터를 column 으로 변경하기 졸리운_곰 2020.06.13 1342
87 [mysql] 운용 application 정보 (proxy, middle ware) 등: awesome-mysql file 졸리운_곰 2020.05.16 26553
86 [MySQL] 10장 여러 개의 테이블 이용하기 file 졸리운_곰 2020.05.16 1137
85 [MySQL] DB에 중복된 값의 개수를 확인하고 싶다. 졸리운_곰 2020.05.06 1188
84 sqlRelay(Mysql DB Pooling) 졸리운_곰 2020.02.17 1459
83 [참고자료] 공개커넥션풀 프로그램 졸리운_곰 2020.02.17 1994
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED