[MSSQL] DATEPART 함수 사용법 (날짜 요일 구하기)

SQL Server에서 해당 날짜의 요일(weekday)을 구하거나 년, 월, 일 추출 또는 분기를 구할 때는 DATEPART 함수를 사용하면 된다. DATEPART 함수와 거의 유사한  DATENAME 함도 있으며, DATEPART 함수와 DATENAME 함수의 차이는 결과를 정수로 반환하느냐 문자열로 반환하느냐의 차이라고 생각하면 된다. (요일과 월을 추출하는 부분만 다름)

 

목차
  1. 날짜 요일 구하기
  2. 년, 월, 일 추출하기
  3. 시, 분, 초 추출하기
  4. 분기 구하기
  5. 일 년 기준으로 일수 구하기
  6. 일 년 기준으로 몇 주인지 구하기
 

[MSSQL] DATENAME 함수 사용법

SQL Server에서 날짜 형식에서 년, 월, 일을 분리하거나 해당 날짜의 요일(weekday), 분기 등을 구하기 위해서는 DATENAME 함수를 사용하면 된다. 그리고 올해로부터 며칠째 인지 또는 몇 주째 인지도 구

gent.tistory.com

날짜 요일 구하기

SELECT DATEPART(WEEKDAY, GETDATE()) AS [weekday]

 

 

DATEPART( "datepart 인수 값", "날짜")

 

DATEPART 함수에서 WEEKDAY 인수를 사용하면 해당 날짜에서 요일에 해당하는 정수 반환한다.

(1: 일요일, 2:월요일, 3:화요일, 4:수요일, 5:목요일, 6:금요일, 7:토요일)

 

요일을 한글로 반환받고 싶으면 DATENAME 함수를 사용하면 된다.

 

SELECT DATENAME(WEEKDAY, GETDATE()) AS [weekday1] --한글 요일 구하기
     , DATEPART(WEEKDAY, GETDATE()) AS [weekday2] --숫자 요일 구하기

 

 

DATENAME 함수와 DATEPART 함수의 사용법은 동일하며 요일을 한글 또는 정수로 반환하는 부분만 다르다.

 

년, 월, 일 추출하기

SELECT DATEPART(YEAR, GETDATE())  AS [year]
     , DATEPART(MONTH, GETDATE()) AS [month]
     , DATEPART(DAY, GETDATE())   AS [day]

 

 

해당 날짜의 년, 월, 일을 정수로 반환한다.

(DATENAME 함수를 사용할 경우 월을 "05" 두 자리 문자열로 반환한다. 그 외는 동일)

 

시, 분, 초 추출 하기

SELECT DATEPART(HOUR, GETDATE())   AS [hour]
     , DATEPART(MINUTE, GETDATE()) AS [minute]
     , DATEPART(SECOND, GETDATE()) AS [second]

 

 

해당 날짜의 시, 분, 초를 정수로 반환한다.

 

분기 구하기

SELECT DATEPART(QUARTER, GETDATE()) AS [quarter]

 

 

해당 날짜가 포함된 분기를 반환한다.

 

일 년 기준으로 일수 구하기

SELECT DATEPART(DAYOFYEAR, GETDATE()) AS [dayofyear]

 

 

일 년 기준 1월 1일부터 해당 날짜까지 일수를 반환한다.

 

일 년 기준으로 몇 주인지 구하기

SELECT DATEPART(WEEK, GETDATE()) AS [week]

 

 

일 년 기준 1월 1일부터 해당 날짜까지 몇 주인지 반환한다.

 

[ DATEPART 인수 코드표 ]

명칭 인수 약어
YEAR YY, YYYY
MONTH MM, M
DAY DD, D
HOUR HH
MINUTE MI, N
SECOND SS, S
밀리초 MILLISECOND MS 
요일 WEEKDAY DW
분기 QUARTER QQ, Q
일년 중 며칠 DAYOFYEAR DY, Y
일년 중 몇주 WEEK WK, WW

 

DATEPART 함수를 사용할 때 인수, 약어 모두 동일하게 사용할 수 있다.

 

SELECT DATEPART(WEEKDAY, GETDATE()) AS [weekday1] --요일 구하기
     , DATEPART(DW, GETDATE())      AS [weekday2] --요일 구하기(약어)
     , DATEPART(YEAR, GETDATE())    AS [year1]    --년 추출하기
     , DATEPART(YY, GETDATE())      AS [year2]    --년 추출하기(약어)

 

 

인수와 약어 모두 동일한 결과를 반환하는 것을 확인할 수 있다.

 

 

댓글

Designed by JB FACTORY