DBMS/MS-SQL

[MS-SQL] [Datetime To Varchar] 날짜를 일정형식의 문자로 만들기

Fly_Mir 2018. 6. 7. 17:09

Convert를 이용하여 MS-SQL에서 날짜를 컨트롤해보자.

SQL Server에서 DateTime을 Varchar로 변경할때는 CONVERT()를 사용한다.

    CONVERT(['포멧'('길이')],['날짜'],['변환형식'])

위와 같은 형식으로 사용되며 길이는 몇글자까지 가져올지를 나타내며 변환형식은 어떤 형식으로 가져올지를 나타낸다.

아래 표를 참조하여 원하는 형식으로 가져오면 된다.

(언어별, 버전별로 조금 다를수도 있다. 대충 이것저것 바꿔보면 원하는형식을 찾을수 있다.)

필자는 표시해둔 112,120등을 짧게 가져오던지 아니면 Right()로 잘라서 많이 사용한다.

예제

    CONVERT([CHAR(8)],[GETDATE()],112) -- CONVERT([CHAR('길이')],[GETDATE()],'번호')
번호 결과 코드 길이 형식
0 Jun 7 2018 4:27PM mon dd yyyy hh:miAM 19 기본값
1 06/07/18 mm/dd/yy 08 미국
2 18.06.07 yy/mm/dd 08 ANSI
3 07/06/18 dd/mm/yy 08 영국/프랑스
4 07.06.18 dd.mm.yy 08 독일
5 07-06-18 dd-mm-yy 08 이탈리아
6 07 Jun 18 dd mom yy 09 -
7 Jun 07, 18 mon dd, yy 10 -
8 09:10:50 hh:mi:ss 08 -
9 Jun 7 2018 9:10:50:937AM mon dd yyyy hh:mi:ss:mmmAM 26 기본값
10 06-07-18 mm-dd-yy 08 미국
11 18/06/07 yy/mm/dd 08 일본
12 180607 yymmdd 06 ISO
13 07 Jun 2018 09:10:50:937 dd mon yyyy hh:mi:ss:mmm 24 유럽기본값
14 09:10:50:937 hh:mi:ss:mmm 12 -
20 2018-06-07 10:16:27 yyyy-mm-dd hh:mi:ss 19 ODBC 표준
21 2018-06-07 10:16:27.387 yyyy-mm-dd hh:mi:ss.mmm 23 ODBC 표준
22 2018-06-07 10:16:27 AM yyyy-mm-dd hh:mi:ss AM 20 -
23 2018-06-07 yyyy-mm-dd 10 -
24 10:16:27 hh:mi:ss 08 -
25 2018-06-07 10:16:27.387 yyyy-mm-dd hh:mi:ss.mmm 23 -
100 Jun 7 2018 4:27PM mon dd yyyy hh:miAM 19 기본값
101 06/07/2018 mm/dd/yyyy 10 미국
102 2018.06.07 yyyy/mm/dd 10 ANSI
103 07/06/2018 dd/mm/yyyy 10 영국/프랑스
104 07.06.2018 dd.mm.yyyy 10 독일
105 07-06-2018 dd-mm-yyyy 10 이탈리아
106 07 Jun 2018 dd mom yyyy 11 -
107 Jun 07, 2018 mon dd, yyyy 12 -
108 09:10:50 hh:mi:ss 08 -
109 Jun 7 2018 9:10:50:937AM mon dd yyyy hh:mi:ss:mmmAM 26 기본값
110 06-07-2018 mm-dd-yyyy 10 미국
111 2018/06/07 yyyy/mm/dd 10 일본
112 20180607 yyyymmdd 8 ISO
113 07 Jun 2018 09:10:50:937 dd mon yyyy hh:mi:ss:mmm 24 유럽기본값
114 09:10:50:937 hh:mi:ss:mmm 12 -
120 2018-06-07 10:16:27 yyyy-mm-dd hh:mi:ss 19 ODBC표준
121 2018-06-07 10:16:27.387 yyyy-mm-dd hh:mi:ss.mmm 23 ODBC표준
126 2018-06-07T10:16:27.387 yyyy-mm-ddThh:mi:ss.mmm 23 ISO8601
127 2018-06-07T10:16:27.387 yyyy-mm-ddThh:mi:ss.mmmZ 23 ISO8601
130 24 ??? 1439 3:10:25:287PM dd mon yyyy hh:mi:ss:mmmAM 28 회교식

※100번대와 1번대는 보통 yy이냐 yyyy이냐의 차이이다.

날다의 운영환경
본체DeskTop
O SWindows7 Ultimate K
ApplicationMicrosoft SQL Server Management Studio 2012
MS-SQLMicorsoft SQL Server 2008 R2 (10.50.1765.0)