반응형

지난 글에서 CONVERT 변환에 관련하여 작성하였었는데, 오늘은 날짜 포맷 변경 방법에서 비교가 가능한 CONVERT와 FORMAT 의 사용방법과 차이점을 알아보려고 한다.
CONVERT 는 날짜가 아니어도 자료형 변환에 따라 많이 쓰이지만 오늘은 날짜 포맷에 대해서만 살펴보자.
CONVERT
- SELECT CONVERT( 데이터타입, 날짜데이터, 스타일번호 )
| 스타일번호 | 출력 형식 (예시) | 설명 |
| 23 | 2025-12-24 | 가장 많이 씀 ( YYYY-MM-DD ) |
| 112 | 20251224 | ISO 표준 ( YYYYMMDD ) |
| 120 | 2025-12-24 14:07:28 | 24시간 형식 ( YYYY-MM-DD HH:MI:SS ) |
| 121 | 2025-12-24 14:07:28.023 | 밀리초 포함 ( ODBC 표준 ) |
| 12 | 251224 | YYMMDD 형식 |
SELECT CONVERT(varchar, getdate(), 23) AS [style23]
,CONVERT(varchar, getdate(), 112) AS [style112]
,CONVERT(varchar, getdate(), 120) AS [style120]
,CONVERT(varchar, getdate(), 121) AS [style121]
,CONVERT(varchar, getdate(), 12) AS [style12]

FORMAT
- SELECT FORMAT( 날짜데이터, 포맷형식 )
- SQL Server 2012 부터 지원되는 함수
- 대소문자 주의 필요 ( MM은 월, mm 은 분 )
SELECT FORMAT(GETDATE(), 'yyyy-MM-dd' ) AS [style23]
,FORMAT(GETDATE(), 'yyyyMMdd' ) AS [style112]
,FORMAT(GETDATE(), 'yyyy-MM-dd HH:mm:ss' ) AS [style120]

FORMAT 이 직관적이어서 가독성이 뛰어나고, [yyyy/MM/dd] 로 원하는 구분자로 형태를 구현하는 것도 가능하다.
하지만 조건절 등에 사용하면 아쉽게도 CONVERT 에 비해 성능이 다소 느린 부분이 있다.
이에 자료를 조회할 땐 CONVERT 를 사용하는 것이 권장되며, SELECT 절 등에 필요한 포맷형태를 맞춰서 넣기 위해 FORMAT 을 사용하는 게 편리한 장점이 있다.
YEAR, MONTH, DAY
- 날짜에서 필요한 연도/월/일만 추출 가능
SELECT YEAR(GETDATE()) AS [연도]
, MONTH(GETDATE()) AS [월]
, DAY(GETDATE()) AS [일]

[MSSQL] CONVERT - 문자열날짜변환
MS-SQL 에서 자료형 형태를 변환하여 표기하는 CONVERT 라는 함수를 알아보자 CONVERT 여러가지 자료형 ( INT, CHAR, VARCHAR, DATETIME, DOUBLE 등) 을 필요에 따라 다른 자료형으로 변환 Convert( 자료형(길이), 데
dogsdream.tistory.com
반응형
'데이터베이스[DB] > MSSQL' 카테고리의 다른 글
| [MSSQL] 데이터 타입 변환 ( CAST, CONVERT, TRY_CAST, TRY_CONVERT ) (0) | 2026.01.09 |
|---|---|
| [MSSQL] 숫자 반올림, 올림, 내림 (ROUND, CEILING, FLOOR) (0) | 2026.01.08 |
| [MSSQL] STRING_AGG, FOR XML PATH (0) | 2025.12.29 |
| [MS-SQL] 문자열합치기 ( [+], CONCAT, CONCAT_WS ) (0) | 2025.12.26 |
| [MS-SQL] 교집합, 부분집합 - JOIN ( INNER, LEFT, RIGHT, FULL ) (0) | 2025.12.24 |
| [MS-SQL] 동일 VIEW 조회 시, 쿼리 속도 차이발생 ( Index, Order by ) (0) | 2025.12.23 |
| [MS-SQL] SSMS 생산성 올리는 꿀팁 : 세로 편집 모드 (0) | 2025.12.22 |
| [MS-SQL] LAG, LEAD - 이전/이후 행 가져오기 (0) | 2025.12.19 |