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

[MS-SQL] DATEPART, DATENAME - 일자(요일,주차,분기) 함수

by 낭만의개꿈 2025. 3. 21.

 

특정 일자의 요일이나 주차 또는 분기 등을 추출하여 사용해야할 때가 있다. 이럴 때 DATEPART 라는 함수를 이용하면 일자의 요일 등을 확인할 수가 있다.

DATEPART
  • 날짜를 인수로 받아 해당 날짜의 요일, 주차, 분기 등을 계산해주는 함수
/* DATEPART(옵션, 날짜) 형식으로 기재 */
SELECT DATEPART(WEEKDAY, '2025-03-02')

DATEPART 결과값

명칭 인수 인수 약어
요일 WEEKDAY DW
분기 QUARTER QQ, Q
일년 중 몇일 DAYOFYEAR DY, Y
일년 중 몇주차 WEEK WK, WW

 

우선, WEEKDAY 로 조회를 하면 요일을 확인하기 위한 옵션이다. 2025-03-02 는 [ 1 ] 로 결과값이 추출되는데, 요일을 숫자로 표기하여 조회하기 때문이다. 일요일을 1부터 시작하여 1, 2, 3 의 형태로 표기되기 때문에 [1] 은 일요일이다.

 

요일 표기는 아래의 표와 같다.

결과값 요일
1 일요일
2 월요일
3 화요일
4 수요일
5 목요일
6 금요일
7 토요일

 

SELECT DATEPART(QUARTER, '2025-03-02')
SELECT DATEPART(DAYOFYEAR, '2025-03-02')
SELECT DATEPART(WEEK, '2025-03-02')

 

각 SELECT 결과값

 

2025-03-02 를 조회 시, QUARTER = 1 , DAYOFYEAR = 61 , WEEK = 10 으로 1분기, 61일째, 10주차로 확인이 가능하다.

구글 캘린더 참고용으로 2025년 03월

DATENAME
  • 날짜를 인수로 받아 해당 날짜의 요일을 숫자가 아닌 요일명으로 표기
SELECT DATENAME(WEEKDAY, '2025-03-02')

DATENAME 결과값