[MSSQL 날짜 변환 완벽 가이드] 실무에서 자주 쓰는 CONVERT 포맷 총정리
안녕하세요,
데이터를 다루는 개발자라면 한 번쯤은 날짜 포맷 변환 때문에 고민해보셨을 텐데요.
오늘은 **SQL Server(MSSQL)**에서 자주 사용되는 날짜 관련 함수와 변환 방법을 정리해보겠습니다.
특히 실무에서는 다양한 포맷의 날짜가 필요하고, 이를 효율적으로 처리하기 위해선 GETDATE()와 CONVERT() 함수의 사용법을 익혀두는 것이 매우 중요합니다.
📌 GETDATE() 함수 – 현재 날짜/시간 조회
MSSQL에서 현재 시간을 조회할 때 가장 기본적으로 사용하는 함수가 바로 GETDATE()입니다.
이 함수는 시스템의 현재 일시를 YYYY-MM-DD hh:mm:ss.fff 형식의 DATETIME 타입으로 반환합니다.
로그 기록, 시간 필터링, 자동 입력 등 다양한 곳에서 활용됩니다.
🔄 CONVERT() 함수 – 날짜 포맷 변환의 핵심
MSSQL에서 날짜 형식을 변경하고 싶다면 CONVERT() 함수를 사용하면 됩니다.
사용법은 다음과 같습니다.
예를 들어, 날짜를 YYYY-MM-DD 형식으로 변환하고 싶다면 아래와 같이 작성합니다:
출력 결과는 다음과 같습니다:
🗂️ MSSQL 날짜 포맷 스타일 코드 모음
아래는 CONVERT() 함수에서 사용할 수 있는 날짜 스타일 코드 모음입니다.
실무에서 자주 쓰이는 포맷은 ⭐ 표시로 강조해두었습니다.
⭐ 1 | CONVERT(CHAR(10), @dt, 1) | 06/13/25 | MM/DD/YY |
⭐ 3 | CONVERT(CHAR(8), @dt, 3) | 13/06/25 | DD/MM/YY |
⭐ 8 | CONVERT(CHAR(8), @dt, 8) | 15:30:45 | HH:mm:ss |
⭐ 20 | CONVERT(CHAR(19), @dt, 20) | 2025-06-13 15:30:45 | YYYY-MM-DD HH:mm:ss |
⭐ 21 | CONVERT(CHAR(23), @dt, 21) | 2025-06-13 15:30:45.123 | 밀리초 포함 |
⭐ 23 | CONVERT(CHAR(10), @dt, 23) | 2025-06-13 | YYYY-MM-DD |
⭐ 112 | CONVERT(CHAR(8), @dt, 112) | 20250613 | YYYYMMDD |
⭐ 126 | CONVERT(CHAR(23), @dt, 126) | 2025-06-13T15:30:45.123 | ISO 8601 형식 |
💡 @dt는 DECLARE @dt DATETIME = GETDATE()로 사전에 선언할 수 있습니다.
✅ 실무 예제 3가지
- 날짜만 추출 (YYYY-MM-DD)
-
sql복사편집SELECT CONVERT(CHAR(10), GETDATE(), 23) AS 날짜형식
- ISO 표준 포맷으로 변환
-
sql복사편집SELECT CONVERT(CHAR(23), GETDATE(), 126) AS ISO형식
- 시간만 추출 (HH:mm:ss)
-
sql복사편집SELECT CONVERT(CHAR(8), GETDATE(), 8) AS 현재시간
🔍 마무리하며
이번 포스팅에서는 MSSQL에서 날짜를 다양한 형식으로 변환하는 방법을 살펴봤습니다.
특히 CONVERT() 함수의 스타일 코드를 잘 활용하면, API 응답 포맷, UI 출력, 보고서 작성 등 다양한 상황에 맞는 날짜 표현이 가능합니다.
실무에서 자주 쓰는 코드들은 미리 정리해두고 필요할 때 빠르게 참고하면 큰 도움이 됩니다.
도움이 되셨다면 이 글을 북마크해두시고, 필요할 때 꺼내보세요!
다음에도 SQL과 관련된 실전 꿀팁으로 찾아뵙겠습니다 😊