이번 글에서는 CONVERT함수를 활용한 MSSQL 날짜 변환에 대해 알아보겠습니다. 프로젝트를 수행하다 보면 날짜정보를 많이 다루게 되는데요, 국내에서는 대부분 yyyymmdd 또는 yyyy-mm-dd 형식으로 날짜를 관리합니다. GETDATE함수로 MSSQL서버의 현재시간을 가져오면 yyyy-mm-dd hh:mm:ss 형식인데요, 각 스타일 번호별로 리턴형식이 어떻게 변하는지 다음 표에서 확인하시기 바랍니다.
1. CONVERT()함수의 스타일 번호별 날짜 변환 형식
쿼리 | 스타일번호 | 출력결과 | 비고 |
SELECT CONVERT(nvarchar(50), GETDATE(), 1) |
1 |
01/20/19 |
mm/dd/yy |
SELECT CONVERT(nvarchar(50), GETDATE(), 101) |
101 |
01/20/2019 |
mm/dd/yyyy |
SELECT CONVERT(nvarchar(50), GETDATE(), 2) |
2 |
19.01.20 |
yy.mm.dd |
SELECT CONVERT(nvarchar(50), GETDATE(), 102) |
102 |
2019.01.20 |
yyyy.mm.dd |
SELECT CONVERT(nvarchar(50), GETDATE(), 3) |
3 |
20/01/19 |
dd/mm/yy |
SELECT CONVERT(nvarchar(50), GETDATE(), 103) |
103 |
20/01/2019 |
dd/mm/yyyy |
SELECT CONVERT(nvarchar(50), GETDATE(), 4) |
4 |
20.01.19 |
dd.mm.yy |
SELECT CONVERT(nvarchar(50), GETDATE(), 104) |
104 |
20.01.2019 |
dd.mm.yyyy |
SELECT CONVERT(nvarchar(50), GETDATE(), 5) |
5 |
20-01-19 |
dd-mm-yy |
SELECT CONVERT(nvarchar(50), GETDATE(), 105) |
105 |
20-01-2019 |
dd-mm-yyyy |
SELECT CONVERT(nvarchar(50), GETDATE(), 6) |
6 |
20 01 19 |
dd mm yy |
SELECT CONVERT(nvarchar(50), GETDATE(), 106) |
106 |
20 01 2019 |
dd mm yyyy |
SELECT CONVERT(nvarchar(50), GETDATE(), 7) |
7 |
01 20, 19 |
mm dd, yy |
SELECT CONVERT(nvarchar(50), GETDATE(), 107) |
107 |
01 20, 201 |
mm dd, yyyy |
SELECT CONVERT(nvarchar(50), GETDATE(), 8) |
8 |
23:59:59 |
hh:mm:ss |
SELECT CONVERT(nvarchar(50), GETDATE(), 108) |
108 |
23:59:59 |
hh:mm:ss |
SELECT CONVERT(nvarchar(50), GETDATE(), 9) |
9 |
01 20 2019 11:59:59:999PM |
mon dd yyyy hh:mi:ss:mmmAM(또는 PM) |
SELECT CONVERT(nvarchar(50), GETDATE(), 109) |
109 |
01 20 2019 11:59:59:999PM |
mon dd yyyy hh:mi:ss:mmmAM(또는 PM) |
SELECT CONVERT(nvarchar(50), GETDATE(), 10) |
10 |
01-20-19 |
mm-dd-yy |
SELECT CONVERT(nvarchar(50), GETDATE(), 110) |
110 |
01-20-2019 |
mm-dd-yyyy |
SELECT CONVERT(nvarchar(50), GETDATE(), 11) |
11 |
19/01/20 |
yy/mm/dd |
SELECT CONVERT(nvarchar(50), GETDATE(), 111) |
111 |
2019/01/20 |
yyyy/mm/dd |
SELECT CONVERT(nvarchar(50), GETDATE(), 12) |
12 |
190120 |
yymmdd |
SELECT CONVERT(nvarchar(50), GETDATE(), 112) |
112 |
20190120 |
yyyymmdd |
SELECT CONVERT(nvarchar(50), GETDATE(), 13) |
13 |
11 04 2019 23:59:59:999 |
dd mm yyyy hh:mm:ss:mmm |
SELECT CONVERT(nvarchar(50), GETDATE(), 113) |
113 |
11 04 2019 23:59:59:999 |
dd mm yyyy hh:mm:ss:mmm |
SELECT CONVERT(nvarchar(50), GETDATE(), 14) |
14 |
23:59:59:999 |
hh:mm:ss:mmm |
SELECT CONVERT(nvarchar(50), GETDATE(), 114) |
114 |
23:59:59:999 |
hh:mm:ss:mmm |
SELECT CONVERT(nvarchar(50), GETDATE(), 20) |
20 |
2019-01-20 23:59:59 |
yyyy-mm-dd hh:mm:ss |
SELECT CONVERT(nvarchar(50), GETDATE(), 120) |
120 |
2019-01-20 23:59:59 |
yyyy-mm-dd hh:mm:ss |
SELECT CONVERT(nvarchar(50), GETDATE(), 21) |
21 |
2019-01-20 23:59:59.999 |
yyyy-mm-dd hh:mm:ss.mmm |
SELECT CONVERT(nvarchar(50), GETDATE(), 121) |
121 |
2019-01-20 23:59:59.999 |
yyyy-mm-dd hh:mm:ss.mmm |
SELECT CONVERT(nvarchar(50), GETDATE(), 126) |
126 |
2019-01-20T23:59:59.999 |
yyyy-mm-ddThh:mi:ss.mmm |
SELECT CONVERT(nvarchar(50), GETDATE(), 127) |
127 |
2019-01-20T23:59:59.999 |
yyyy-mm-ddThh:mi:ss.mmmZ |
SELECT CONVERT(nvarchar(50), GETDATE(), 130) |
130 |
6 شعبان 1440 11:59:59:999PM |
|
SELECT CONVERT(nvarchar(50), GETDATE(), 131) |
131 |
6/08/1440 23:59:59.999PM |
2. 시스템 날짜 시간 가져오기
--2019-04-13 20:45:21 동시 실행시 SELECT SYSDATETIME() --2019-04-13 20:45:21.5004774 SELECT SYSDATETIMEOFFSET() --2019-04-13 20:45:21.5004774 +09:00 SELECT SYSUTCDATETIME() --2019-04-13 11:45:21.5004774 SELECT CURRENT_TIMESTAMP --2019-04-13 20:45:21.507 SELECT GETDATE() --2019-04-13 20:45:21.507 SELECT GETUTCDATE() --2019-04-13 11:45:21.500
3. 시스템 날짜 시간 함수와 CONVERT()를 이용한 날짜 가져오기
--2019-04-13 20:45:21 동시 실행시 SELECT CONVERT(date, SYSDATETIME()) --2019-04-13 SELECT CONVERT(date, SYSDATETIMEOFFSET()) --2019-04-13 SELECT CONVERT(date, SYSUTCDATETIME()) --2019-04-13 SELECT CONVERT(date, CURRENT_TIMESTAMP) --2019-04-13 SELECT CONVERT(date, GETDATE()) --2019-04-13 SELECT CONVERT(date, GETUTCDATE()) --2019-04-13
4. 시스템 날짜 시간 함수와 CONVERT()를 이용한 시간 가져오기
--2019-04-13 20:46:39 동시 실행시 SELECT CONVERT(time, SYSDATETIME()) --20:46:39.9374151 SELECT CONVERT(time, SYSDATETIMEOFFSET()) --20:46:39.9374151 SELECT CONVERT(time, SYSUTCDATETIME()) --11:46:39.9374151 SELECT CONVERT(time, CURRENT_TIMESTAMP) --20:46:39.9270000 SELECT CONVERT(time, GETDATE()) --20:46:39.9270000 SELECT CONVERT(time, GETUTCDATE()) --11:46:39.9370000
프로젝트의 성공을 기원합니다.
관련글 :
'MS-SQL' 카테고리의 다른 글
MSSQL 일련번호는 시퀀스(Sequence)를 사용하자. (0) | 2019.05.18 |
---|---|
MSSQL 프로시저 텍스트 검색 (0) | 2019.04.19 |
MSSQL 게시판 글번호 매기기 (0) | 2019.04.07 |
MSSQL 버전확인 (0) | 2019.02.15 |
MSSQL 초간단 팁들 (0) | 2019.02.02 |