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 |