IT/DB

[MSSQL 날짜 변환 완벽 가이드] 실무에서 자주 쓰는 CONVERT 포맷 총정리

프로그램20 2025. 6. 13. 16:40

 

안녕하세요,
데이터를 다루는 개발자라면 한 번쯤은 날짜 포맷 변환 때문에 고민해보셨을 텐데요.
오늘은 **SQL Server(MSSQL)**에서 자주 사용되는 날짜 관련 함수와 변환 방법을 정리해보겠습니다.

특히 실무에서는 다양한 포맷의 날짜가 필요하고, 이를 효율적으로 처리하기 위해선 GETDATE()와 CONVERT() 함수의 사용법을 익혀두는 것이 매우 중요합니다.


📌 GETDATE() 함수 – 현재 날짜/시간 조회

MSSQL에서 현재 시간을 조회할 때 가장 기본적으로 사용하는 함수가 바로 GETDATE()입니다.

sql
복사편집
SELECT GETDATE() AS 현재시간

이 함수는 시스템의 현재 일시를 YYYY-MM-DD hh:mm:ss.fff 형식의 DATETIME 타입으로 반환합니다.
로그 기록, 시간 필터링, 자동 입력 등 다양한 곳에서 활용됩니다.


🔄 CONVERT() 함수 – 날짜 포맷 변환의 핵심

MSSQL에서 날짜 형식을 변경하고 싶다면 CONVERT() 함수를 사용하면 됩니다.
사용법은 다음과 같습니다.

sql
복사편집
CONVERT(데이터형식, 값, 스타일코드)

예를 들어, 날짜를 YYYY-MM-DD 형식으로 변환하고 싶다면 아래와 같이 작성합니다:

sql
복사편집
SELECT CONVERT(CHAR(10), GETDATE(), 23) AS 변환된날짜

출력 결과는 다음과 같습니다:

yaml
복사편집
2025-06-13

🗂️ 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가지

  1. 날짜만 추출 (YYYY-MM-DD)
  2. sql
    복사편집
    SELECT CONVERT(CHAR(10), GETDATE(), 23) AS 날짜형식
  3. ISO 표준 포맷으로 변환
  4. sql
    복사편집
    SELECT CONVERT(CHAR(23), GETDATE(), 126) AS ISO형식
  5. 시간만 추출 (HH:mm:ss)
  6. sql
    복사편집
    SELECT CONVERT(CHAR(8), GETDATE(), 8) AS 현재시간

🔍 마무리하며

이번 포스팅에서는 MSSQL에서 날짜를 다양한 형식으로 변환하는 방법을 살펴봤습니다.
특히 CONVERT() 함수의 스타일 코드를 잘 활용하면, API 응답 포맷, UI 출력, 보고서 작성 등 다양한 상황에 맞는 날짜 표현이 가능합니다.

실무에서 자주 쓰는 코드들은 미리 정리해두고 필요할 때 빠르게 참고하면 큰 도움이 됩니다.


도움이 되셨다면 이 글을 북마크해두시고, 필요할 때 꺼내보세요!
다음에도 SQL과 관련된 실전 꿀팁으로 찾아뵙겠습니다 😊