본문 바로가기
데이터베이스[DB]/MSSQL

[MS-SQL] CONVERT, FORMAT, YEAR, MONTH, DAY

by 낭만의개꿈 2025. 12. 25.
반응형

 

 

지난 글에서 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]

convert 오늘일자 조회

 

 

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 오늘 일자 조회

 

 

FORMAT 이 직관적이어서 가독성이 뛰어나고,  [yyyy/MM/dd] 로 원하는 구분자로 형태를 구현하는 것도 가능하다.

하지만 조건절 등에 사용하면 아쉽게도 CONVERT 에 비해 성능이 다소 느린 부분이 있다.

이에 자료를 조회할 땐 CONVERT 를 사용하는 것이 권장되며, SELECT 절 등에 필요한 포맷형태를 맞춰서 넣기 위해 FORMAT 을 사용하는 게 편리한 장점이 있다.

 

YEAR, MONTH, DAY
  • 날짜에서 필요한 연도/월/일만 추출 가능
SELECT YEAR(GETDATE())  AS [연도]
     , MONTH(GETDATE()) AS [월]
     , DAY(GETDATE())   AS [일]

year, month, day 조회

 

 

[MSSQL] CONVERT - 문자열날짜변환

MS-SQL 에서 자료형 형태를 변환하여 표기하는 CONVERT 라는 함수를 알아보자 CONVERT 여러가지 자료형 ( INT, CHAR, VARCHAR, DATETIME, DOUBLE 등) 을 필요에 따라 다른 자료형으로 변환 Convert( 자료형(길이), 데

dogsdream.tistory.com

 

반응형