DB/MSSQL
[MSSQL] 날짜 Date Format 지정/변환(FORMAT, CONVERT)
영국너구리
2020. 12. 11. 11:52
1. FORMAT
FORMAT(value, format [, culture])
FORMAT(변환할 타입, 포맷)
DECLARE @DATETEST1 NVARCHAR(30)
DECLARE @DATETEST2 NVARCHAR(30)
-- 보통 DATETIME을 쓸 때 출력되는 양식
SET @DATETEST1 = FORMAT(GETDATE(), 'yyyy-MM-dd hh:mm:ss.fff')
-- 보통 많이 쓰는양식
SET @DATETEST2 = FORMAT(GETDATE(), 'yyyyMMdd')
PRINT @DATETEST1
PRINT @DATETEST2
출력결과
더보기

culture 있는 예시
DECLARE @d DATE = '11/22/2020';
SELECT FORMAT( @d, 'd', 'en-US' ) 'US English'
,FORMAT( @d, 'd', 'en-gb' ) 'Great Britain English'
,FORMAT( @d, 'd', 'de-de' ) 'German'
,FORMAT( @d, 'd', 'zh-cn' ) 'Simplified Chinese (PRC)';
SELECT FORMAT( @d, 'D', 'en-US' ) 'US English'
,FORMAT( @d, 'D', 'en-gb' ) 'Great Britain English'
,FORMAT( @d, 'D', 'de-de' ) 'German'
,FORMAT( @d, 'D', 'zh-cn' ) 'Chinese (Simplified PRC)';
출력결과

날짜형식 | 표현형식 |
yyyy | 2021 |
yy | 21 |
mm | 09 |
MMMM | 09월 |
M | 9 |
dddd | 월요일 |
ddd | 월 |
DD | 05 |
D | 5 |
HH | 0 |
hh | 12 |
h | 12 |
mm | 01 |
M | 1 |
SS | 02 |
S | 2 |
tt | 오전 |
T | AM |
fff | 333 |
ff | 33 |
F | 3 |
2. CONVERT
자주쓰는 변환표
번호 | 쿼리 | 결과 | 코드 |
21 | CONVERT(CHAR(23), DATETIME, 21) | 2000-01-02 13:14:15.678 | YYYY-MM-DD HH:MM:SS.MS |
23 | CONVERT(CHAR(10), DATETIME, 23) | 2000-01-02 | YYYY-MM-DD |
112 | CONVERT(CHAR(8), DATETIME, 112) | 20000102 | YYYYMMDD |
그 외 예시는 아래 참고
참고
- riptutorial.com - Microsoft SQL Server