샘플
📌 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') |