susinlee 님의 블로그

쿼리 엔진 별로 비교해 보는 날짜 시간 함수 본문

코드카타/SQL, Pandas

쿼리 엔진 별로 비교해 보는 날짜 시간 함수

susinlee 2025. 3. 15. 14:36

1. 날짜/시간 추출

기능 PostgreSQL MySQL 설명
연도 추출 EXTRACT(YEAR FROM date_col) YEAR(date_col) 연도를 추출
월 추출 EXTRACT(MONTH FROM date_col) MONTH(date_col) 월을 추출
일 추출 EXTRACT(DAY FROM date_col) DAY(date_col) 일을 추출
시간 추출 EXTRACT(HOUR FROM date_col) HOUR(date_col) 시간을 추출
분 추출 EXTRACT(MINUTE FROM date_col) MINUTE(date_col) 분을 추출
초 추출 EXTRACT(SECOND FROM date_col) SECOND(date_col) 초를 추출

 

2. 날짜/시간 차이 계산

기능 PostgreSQL MySQL 설명
날짜 차이(일 단위) AGE(date_col1, date_col2)
또는
date_col1 - date_col2
DATEDIFF(date_col1, date_col2) 날짜 간격(일)
시간 차이(초 단위) EXTRACT(EPOCH FROM date_col1 - date_col2) TIMESTAMPDIFF(SECOND, date_col2, date_col1) 초 단위 차이
시간 차이(시간 단위) EXTRACT(HOUR FROM (date_col1 - date_col2)) TIMESTAMPDIFF(HOUR, date_col2, date_col1) 시간 단위 차이
날짜 간격 반환
(전체 기간)
AGE(date_col1, date_col2) TIMESTAMPDIFF(YEAR, date_col2, date_col1) 연도 차이 등 계산

 

3. 현재 날짜/시간 가져오기

기능 PostgreSQL MySQL 설명
현재 날짜 CURRENT_DATE CURDATE() 현재 날짜 반환
현재 시간 CURRENT_TIME CURTIME() 현재 시간 반환
현재 날짜 & 시간 CURRENT_TIMESTAMP 또는 NOW() NOW() 현재 날짜 및 시간 반환
UTC 날짜 & 시간 NOW() AT THE ZONE 'UTC' UTC_TIMESTAMP() UTC 기준 현재 날짜 & 시간

 

4. 날짜/시간 반환

기능 PostgreSQL MySQL 설명
포멧 변환 TO_CHAR(date_col, 'YYYY-MM-DD') DATE_FORMAT(date_col, '%Y-%m-%d') 날짜를 특정 형식으로 변환
문자열을 날짜로 변환 TO_DATE('2024-03-10', 'YYYY-MM-DD') STR_TO_DATE('2024-03-10', '%Y-%m-%d') 문자열을 날짜로 변환
문자열을 날짜/시간 변환 TO_TIMESTAMP('2024-03-10 12:30', 'YYYY-MM-DD HH24:MI') STR_TO_DATE('2024-03-10 12:30', '%Y-%m-%d %H:%i') 문자열을 타임스탬프로 변환

 

5. 날짜 연산

기능 PostgreSQL MySQL 설명
날짜 더하기 date_col + INTERVAL '1 day' DATE_ADD(date_col, INTERVAL 1 DAY) 날짜에 1일 추가
날짜 뺴기 date_col - INTERVAL '1 day' DATE_SUB(date_col, INTERVAL 1 DAY) 날짜에서 1일 빼기
특정 시간 추가 date_col + INTERVAL '3 hours' DATE_ADD(date_col, INTERVAL 3 HOUR) 특정 시간 추가
특정 월/년 추가 date_col + INTERVAL '2 months' DATE_ADD(date_col, INTERVAL 2 MONTH) 특정 월 추가

 

 

DBMS 날짜만 저장 날짜+시간 저장 (타임존X) 날짜+시간 저장 (타임존O)
MySQL DATE DATETIME TIMESTAMP
PostgreSQL DATE TIMESTAMP TIMESTAMP WITH THE TIME ZONE