[MSSQL] DATENAME 함수 사용법 (요일, 분기, 날짜분리)

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

 

DATENAME 함수는 DATEPART 함수와 거의 유사하다. 차이라고 하면 DATENAME 함수는 결과를 문자로 반환하고, DATEPART 함수는 정수로 반환한다. 월(month)과 요일(weekday) 부분을 제외하면 두 함수 모두 동일하다.

 

목차
  1. 날짜 분리 하기
  2. 시간 분리 하기
  3. 요일 구하기 (WEEKDAY)
  4. 분기 구하기 (QUARTER)
  5. 일 년 기준으로 며칠(일수) 구하기
  6. 일 년 기준으로 몇 주인지 구하기
 

[MSSQL] DATEPART 함수 사용법

SQL Server에서 해당 날짜의 요일(weekday)을 구하거나 년, 월, 일 추출 또는 분기를 구할 때는 DATEPART 함수를 사용하면 된다. DATEPART 함수와 거의 유사한 DATENAME 함도 있으며, DATEPART 함수와 DATENAME 함수

gent.tistory.com

날짜 분리 하기

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

 

 

월(MONTH) 분리할 때 "0"을 포함하여 반환하는 부분이 조금 특이하며 그 외에는 DATEPART 함수와 동일하다.

 

시간 분리 하기

SELECT DATENAME(HOUR, GETDATE())        AS [hour]
     , DATENAME(MINUTE, GETDATE())      AS [minute]
     , DATENAME(SECOND, GETDATE())      AS [second]
     , DATENAME(MILLISECOND, GETDATE()) AS [millisecond]

 

 

요일 구하기 (WEEKDAY)

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

 

 

DATENAME 함수는 요일을 문자로 반환한다. (설정한 언어에 따라서 영어로 반환될 수도 있음)

 

DATEPART 함수를 사용하면 정수로 반환된다. (1:일, 2:월, 3:화, 4:수, 5:목, 6:금, 7:토)

예) SELECT DATEPART(WEEKDAY, GETDATE())

 

분기 구하기 (QUARTER)

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

 

 

해당 날짜가 포함되는 분기를 리턴한다.

 

일 년 기준으로 며칠(일수) 구하기

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

 

 

일 년 기준 1월 1일부터 오늘이 며칠째인지 일수를 반환한다.

 

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

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

 

 

 

인자 값을 약어로 사용 가능하니 아래의 코드표를 참고하면 된다.

명칭 인자 약어
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

 

 

인자를 약어로사용해도 동일한 결과가 반환된다.

 

 

인자를 소문자로 사용해도 결과는 동일하다.

 

 

댓글

Designed by JB FACTORY