상세 컨텐츠

본문 제목

DB별 날짜 포맷 정리 (MSSQL, 오라클, PostgreSQL 등)

카테고리 없음

by 습하디 2025. 9. 8. 13:43

본문

샘플

📌 DB별 날짜 포맷 정리

1️⃣ SQL Server (MSSQL)

SQL Server는 CONVERT, FORMAT 함수를 주로 사용합니다.

✅ 기본 형식

 
-- 현재 날짜/시간 SELECT GETDATE(); -- datetime SELECT SYSDATETIME(); -- datetime2

✅ 날짜 포맷 (CONVERT)

 
SELECT CONVERT(VARCHAR, GETDATE(), 120); -- 'yyyy-mm-dd hh:mi:ss' SELECT CONVERT(VARCHAR, GETDATE(), 23); -- 'yyyy-mm-dd'
스타일 코드출력 형식예시
101 mm/dd/yyyy 09/08/2025
103 dd/mm/yyyy 08/09/2025
112 yyyymmdd 20250908
120 yyyy-mm-dd hh:mi:ss (24h) 2025-09-08 13:45:22
121 yyyy-mm-dd hh:mi:ss.mmm 2025-09-08 13:45:22.123

✅ FORMAT 함수 (2012+)

 
SELECT FORMAT(GETDATE(), 'yyyy-MM-dd HH:mm:ss'); SELECT FORMAT(GETDATE(), 'yyyy/MM/dd'); SELECT FORMAT(GETDATE(), 'MM월 dd일');

2️⃣ Oracle

Oracle은 TO_CHAR, TO_DATE를 활용해 문자열 ↔ 날짜 변환을 자주 합니다.

✅ 기본 형식

 
SELECT SYSDATE FROM dual; -- 현재 날짜/시간 SELECT CURRENT_DATE FROM dual;

✅ 날짜 → 문자열 변환

 
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM dual; SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD') FROM dual; SELECT TO_CHAR(SYSDATE, 'YYYYMMDD') FROM dual;
포맷의미예시
YYYY 4자리 연도 2025
YY 2자리 연도 25
MM 월 (01–12) 09
MON 축약 월 이름 SEP
MONTH 전체 월 이름 SEPTEMBER
DD 일 (01–31) 08
HH24 24시간제 시 13
MI 45
SS 22

✅ 문자열 → 날짜 변환

 
SELECT TO_DATE('2025-09-08', 'YYYY-MM-DD') FROM dual;

3️⃣ MySQL / MariaDB

MySQL은 DATE_FORMAT, STR_TO_DATE를 사용합니다.

✅ 기본 형식

 
SELECT NOW(); -- 2025-09-08 13:45:22 SELECT CURDATE(); -- 2025-09-08 SELECT CURTIME(); -- 13:45:22

✅ 날짜 → 문자열 변환

 
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s'); SELECT DATE_FORMAT(NOW(), '%Y/%m/%d'); SELECT DATE_FORMAT(NOW(), '%Y%m%d');
포맷의미예시
%Y 4자리 연도 2025
%y 2자리 연도 25
%m 월 (01–12) 09
%d 일 (01–31) 08
%H 시 (00–23) 13
%i 분 (00–59) 45
%s 초 (00–59) 22

4️⃣ PostgreSQL

PostgreSQL은 TO_CHAR, TO_DATE, TO_TIMESTAMP를 활용합니다.

✅ 기본 형식

 
SELECT NOW(); -- 2025-09-08 13:45:22.123456+09 SELECT CURRENT_DATE; -- 2025-09-08

✅ 날짜 → 문자열 변환

 
SELECT TO_CHAR(NOW(), 'YYYY-MM-DD HH24:MI:SS'); SELECT TO_CHAR(NOW(), 'YYYY/MM/DD'); SELECT TO_CHAR(NOW(), 'YYYYMMDD');

✅ 문자열 → 날짜 변환

 
SELECT TO_DATE('20250908', 'YYYYMMDD'); SELECT TO_TIMESTAMP('2025-09-08 13:45:22', 'YYYY-MM-DD HH24:MI:SS');

📊 요약 표

DB날짜 함수문자열 변환 함수예시
SQL Server GETDATE(), SYSDATETIME() CONVERT, FORMAT CONVERT(VARCHAR, GETDATE(), 120)
Oracle SYSDATE, CURRENT_DATE TO_CHAR, TO_DATE TO_CHAR(SYSDATE, 'YYYY-MM-DD')
MySQL NOW(), CURDATE() DATE_FORMAT, STR_TO_DATE DATE_FORMAT(NOW(), '%Y-%m-%d')
PostgreSQL NOW(), CURRENT_DATE TO_CHAR, TO_DATE TO_CHAR(NOW(), 'YYYY-MM-DD')