본문 바로가기

Database/Mssql

MSSQL - DATE CONVERT,FORMAT 날짜 변환 방법

MSSQL에서 날짜 형식을 변환하는 방법으로는 주로 CONVERT와 FORMAT 함수를 사용합니다.

각 함수는 다양한 형식으로 날짜를 변환할 수 있도록 도와줍니다. 

1. CONVERT 함수

CONVERT 함수는 세 가지 인자를 받습니다:

  • 변환할 데이터
  • 변환할 데이터 타입 (보통 VARCHAR 사용)
  • 날짜 형식을 결정하는 스타일 번호

기본 형식:

CONVERT(VARCHAR, <날짜 값>, <스타일 번호>)

 

 

2. FORMAT 함수

FORMAT 함수는 NET 스타일 형식 문자열을 사용하여 날짜를 변환할 수 있는 방법입니다.

 

기본 형식:

FORMAT(<날짜 값>, '형식 문자열')

 

 

예제 코드 및 스타일 번호 목록

현재 날짜: GETDATE() 사용

SELECT GETDATE() AS OriginalDate;

 

 

CONVERT 함수 예제

다음은 주요 스타일 번호에 따른 CONVERT 함수의 사용 예제입니다.

0 기본값
(mon dd yyyy hh/PM)
Apr 7 2024 12:34PM SELECT CONVERT(VARCHAR, GETDATE(), 0);
1 MM/DD/YY 04/07/24 SELECT CONVERT(VARCHAR, GETDATE(), 1);
2 YY.MM.DD 24.04.07 SELECT CONVERT(VARCHAR, GETDATE(), 2);
3 DD/MM/YY 07/04/24 SELECT CONVERT(VARCHAR, GETDATE(), 3);
4 DD.MM.YY 07.04.24 SELECT CONVERT(VARCHAR, GETDATE(), 4);
5 DD-MM-YY 07-04-24 SELECT CONVERT(VARCHAR, GETDATE(), 5);
10 MM-DD-YY 04-07-24 SELECT CONVERT(VARCHAR, GETDATE(), 10);
11 YY/MM/DD 24/04/07 SELECT CONVERT(VARCHAR, GETDATE(), 11);
12 YYMMDD 240407 SELECT CONVERT(VARCHAR, GETDATE(), 12);
13 DD MON YY HH:MI:SS(24h) 07 Apr 24 12:34:56:789 SELECT CONVERT(VARCHAR, GETDATE(), 13);
14 HH:MI:SS(24h) 12:34:56:789 SELECT CONVERT(VARCHAR, GETDATE(), 14);
20 YYYY-MM-DD HH:MI(24h) 2024-04-07 12:34:56 SELECT CONVERT(VARCHAR, GETDATE(), 20);
21 YYYY-MM-DD HH:MI.MMM (24h) 2024-04-07 12:34:56.789 SELECT CONVERT(VARCHAR, GETDATE(), 21);
23 YYYY-MM-DD (표준 ISO 형식) 2024-04-07 SELECT CONVERT(VARCHAR, GETDATE(), 23);
24 HH:MI(24h) 12:34:56 SELECT CONVERT(VARCHAR, GETDATE(), 24);
25 YYYY-MM-DD HH:MI.MMM 2024-04-07 12:34:56.789 SELECT CONVERT(VARCHAR, GETDATE(), 25);
100 mon dd yyyy hh/PM Apr 7 2024 12:34PM SELECT CONVERT(VARCHAR, GETDATE(), 100);
101 MM/DD/YYYY 04/07/2024 SELECT CONVERT(VARCHAR, GETDATE(), 101);
102 YYYY.MM.DD 2024.04.07 SELECT CONVERT(VARCHAR, GETDATE(), 102);
103 DD/MM/YYYY 07/04/2024 SELECT CONVERT(VARCHAR, GETDATE(), 103);
104 DD.MM.YYYY 07.04.2024 SELECT CONVERT(VARCHAR, GETDATE(), 104);
105 DD-MM-YYYY 07-04-2024 SELECT CONVERT(VARCHAR, GETDATE(), 105);
106 DD MON YYYY 07 Apr 2024 SELECT CONVERT(VARCHAR, GETDATE(), 106);
107 MON DD, YYYY Apr 07, 2024 SELECT CONVERT(VARCHAR, GETDATE(), 107);
108 HH:MI(24h) 12:34:56 SELECT CONVERT(VARCHAR, GETDATE(), 108);
109 MON DD YYYY HH:MI:SS/PM Apr 7 2024 12:34:56:789PM SELECT CONVERT(VARCHAR, GETDATE(), 109);
110 MM-DD-YYYY 04-07-2024 SELECT CONVERT(VARCHAR, GETDATE(), 110);
111 YYYY/MM/DD 2024/04/07 SELECT CONVERT(VARCHAR, GETDATE(), 111);
112 YYYYMMDD 20240407 SELECT CONVERT(VARCHAR, GETDATE(), 112);
113 DD MON YYYY HH:MI:SS(24h) 07 Apr 2024 12:34:56:789 SELECT CONVERT(VARCHAR, GETDATE(), 113);
114 HH:MI:SS(24h) 12:34:56:789 SELECT CONVERT(VARCHAR, GETDATE(), 114);
120 YYYY-MM-DD HH:MI(24h) 2024-04-07 12:34:56 SELECT CONVERT(VARCHAR, GETDATE(), 120);
121 YYYY-MM-DD HH:MI.MMM (24h) 2024-04-07 12:34:56.789 SELECT CONVERT(VARCHAR, GETDATE(), 121);
126 ISO8601 -
YYYY-MM-DDThh:mi.sss
2024-04-07T12:34:56.789 SELECT CONVERT(VARCHAR, GETDATE(), 126);
127 ISO8601 -
YYYY-MM-DDThh:mi.sssZ
2024-04-07T12:34:56.789Z SELECT CONVERT(VARCHAR, GETDATE(), 127);
130 이슬람력 -
DD MON YYYY HH:MI:SS/PM
07 ربيع 1445 12:34:56:789PM SELECT CONVERT(VARCHAR, GETDATE(), 130);
131 이슬람력 -
DD/MM/YYYY HH:MI:SS/PM
07/04/1445 12:34:56:789PM SELECT CONVERT(VARCHAR, GETDATE(), 131);

 

FORMAT 함수 예제

FORMAT 함수는 좀 더 직관적인 형식 문자열을 사용할 수 있습니다. 

 

SELECT FORMAT(GETDATE(), 'yyyy/MM/dd') AS DateFormatted;
SELECT FORMAT(GETDATE(), 'dd-MM-yyyy HH:mm:ss') AS DateFormatted;
SELECT FORMAT(GETDATE(), 'MMMM dd, yyyy') AS LongDateFormatted;

 

주요 형식 문자열 예시

  • yyyy: 연도 (예: 2024)
  • MM: 월 (예: 09)
  • dd: 일 (예: 07)
  • HH: 24시간제 시간
  • hh: 12시간제 시간
  • mm: 분
  • ss: 초
 

 

 

이 두 가지 방법을 사용하여 MSSQL에서 원하는 날짜 형식으로 쉽게 변환할 수 있습니다.

'Database > Mssql' 카테고리의 다른 글

MSSQL - CASE 문 활용법  (3) 2024.09.07
MSSQL - TABLE JOIN UPDATE, 테이블 조인 업데이트  (1) 2024.09.07