(Oracle PostgreSQL변환) 오라클 add_month함수를 PostgreSQL의 interval ‘1 month’로 변환하기 (월/일/시/분/초 더하기)

Oracle DB

Oracle과 PostgreSQL에서 날짜에 대해서 월/일/시/분/초 단위로 덧셈 계산을 하는 방법을 비교 해 보았습니다. Oracle에서 PostgreSQL로 시스템을 변경 하는 경우 도움이 되길 바랍니다.

주의)오라클은 다음 SQL문을 실행하여 SYSDATE출력으로 시분초까지 표시하도록 합니다.

ALTER SESSION SET NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS';

1개월 더하기

OraclePostgreSQL
SELECT
SYSDATE, ADD_MONTHS(SYSDATE , 1)
FROM DUAL;
SELECT
CURRENT_TIMESTAMP ,
CURRENT_TIMESTAMP + interval ‘1 month’;
2022/09/10 00:22:39 2022/10/10 00:22:392022-09-09 23:51:10.751858+09 | 2022-10-09 23:51:10.751858+09
9월 -> 10월 9월 -> 10월

1일 더하기

OraclePostgreSQL
SELECT
SYSDATE, SYSDATE + 1
FROM DUAL;
SELECT
CURRENT_TIMESTAMP ,
CURRENT_TIMESTAMP + interval ‘1 day’;
2022/09/10 00:23:17 2022/09/11 00:23:172022-09-09 23:51:58.290754+09 | 2022-09-10 23:51:58.290754+09
10일 -> 11일9일 -> 10일

1시간 더하기

OraclePostgreSQL
SELECT
SYSDATE, SYSDATE + 1 / 24
FROM DUAL;
SELECT
CURRENT_TIMESTAMP ,
CURRENT_TIMESTAMP + interval ‘1 hour’
;
2022/09/10 00:23:56 2022/09/10 01:23:562022-09-10 00:01:36.228008+09 | 2022-09-10 01:01:36.228008+09
0시 -> 1시0시 -> 1시

1분 더하기

OraclePostgreSQL
SELECT
SYSDATE, SYSDATE + 1 / (24 * 60)
FROM DUAL;
SELECT
CURRENT_TIMESTAMP ,
CURRENT_TIMESTAMP + interval ‘1 minutes’
;
2022/09/10 00:24:35 2022/09/10 00:25:352022-09-10 00:02:57.214628+09 | 2022-09-10 00:03:57.214628+09
24분 -> 25분2분 -> 3분

1초 더하기

OraclePostgreSQL
SELECT
SYSDATE, SYSDATE + 1 / (24 * 60 * 60)
FROM DUAL;
SELECT
CURRENT_TIMESTAMP ,
CURRENT_TIMESTAMP + interval ‘1 seconds’
;
2022/09/10 00:25:30 2022/09/10 00:25:312022-09-10 00:03:45.305899+09 | 2022-09-10 00:03:46.305899+09
30초 -> 31초45초 -> 46초
제목과 URL을 복사했습니다