MSSQL에서는 날짜나 시간을 나타내는 datetime 또는 smalldatetime 타입의 데이터를
다양한 문자열 타입의 데이터로 표현하는 것이 가능하다.
이를 위해 반드시 알아야 하는 것이 Convert() 메서드와 Style 파라미터이다.
아래의 표는 Convert() 메서드에서 사용가능한 Style 들을 나타낸 것이다.
두 자리 연도(yy)(1) |
네 자리 연도(yyyy) |
표준 |
|
- |
0 또는 100(1, 2) |
기본값 |
mon dd yyyy hh:miAM(또는 PM) |
1 |
101 |
미국 |
mm/dd/yyyy |
2 |
102 |
ANSI |
yy.mm.dd |
3 |
103 |
영국/프랑스 |
dd/mm/yy |
4 |
104 |
독일 |
dd.mm.yy |
5 |
105 |
이탈리아 |
dd-mm-yy |
6 |
106 (1) |
- |
dd mon yy |
7 |
107 (1) |
- |
Mon dd, yy |
8 |
108 |
- |
hh:mi:ss |
- |
9 또는 109(1, 2) |
기본값 + 밀리초 |
mon dd yyyy hh:mi:ss:mmmAM(또는 PM) |
10 |
110 |
미국 |
mm-dd-yy |
11 |
111 |
일본 |
yy/mm/dd |
12 |
112 |
ISO |
yymmdd |
- |
13 또는 113(1, 2) |
유럽 기본값 + 밀리초 |
dd mon yyyy hh:mi:ss:mmm(24h) |
14 |
114 |
- |
hh:mi:ss:mmm(24h) |
- |
20 또는 120(2) |
ODBC 표준 |
yyyy-mm-dd hh:mi:ss(24h) |
- |
21 또는 121(2) |
ODBC 표준(밀리초 포함) |
yyyy-mm-dd hh:mi:ss.mmm(24h) |
- |
126 (4) |
ISO8601 |
yyyy-mm-ddThh:mi:ss.mmm(공백 없이) |
127(6, 7) |
ISO8601(Z 표준 시간대) |
yyyy-mm-ddThh:mi:ss.mmmZ(공백 없이) | |
- |
130 (1, 2) |
회교식(5) |
dd mon yyyy hh:mi:ss:mmmAM |
- |
131 (2) |
회교식(5) |
dd/mm/yy hh:mi:ss:mmmAM |
1. 이러한 스타일 값은 비결정적 결과를 반환합니다. 모든 (yy)(두 자리 연도) 스타일과 (yyyy)(네 자리 연도) 스타일의 하위 집합을 포함합니다.
2. 기본값(style이 0 또는 100, 9 또는 109, 13 또는 113, 20 또는 120, 21 또는 121인 경우)은 항상 네 자리 연도(yyyy)를 반환합니다.
3. datetime으로 변환할 때의 입력이며 문자 데이터로 변환할 때의 출력입니다.
4. XML용으로 고안되었습니다. datetime 또는 smalldatetime을 문자 데이터로 변환하는 경우 출력 형식은 앞의 표에서 설명한 것과 같습니다.
5. 회교식 달력 시스템에는 여러 가지 형태가 있는데 SQL Server 2005에서는 쿠웨이트 알고리즘을 사용합니다.
<< 사용예 >>
표현식 | 결과값
-----------------------------
100 | 01 29 2009 2:55PM
101 | 01/29/2009
102 | 2009.01.29
103 | 29/01/2009
104 | 29.01.2009
105 | 29-01-2009
106 | 29 01 2009
107 | 01 29, 2009
108 | 14:55:06
109 | 01 29 2009 2:55:06:170PM
110 | 01-29-2009
111 | 2009/01/29
112 | 20090129
113 | 29 01 2009 14:55:06:170
114 | 14:55:06:170
120 | 2009-01-29 14:55:06
121 | 2009-01-29 14:55:06.170