이감자의 개발새발 개발일지

[MSSQL] DATE 함수(DATEPART/DATEADD/DATEDIFF) 본문

개발새발🐶/DataBase

[MSSQL] DATE 함수(DATEPART/DATEADD/DATEDIFF)

이 감자 2021. 8. 22. 23:16

DATEPART

기준이 되는 날짜(DATE)에서 입력한 DATEPART를 정수로 반환하는 함수.

DATEPART(DATEPART, DATE);

 

DATEPART 종류 약어
year(년) yy, yyyy
quarter(분기) qq, q
month(월) mm, m
dayofyear(1년 기준으로 몇 번째 일인지) dy, y
day(일) dd, d
week(주) wk, ww
weekday(요일, 1 ~ 7로 표기) dw, w
hour(시간) hh
minute(분) mi, n
second(초) ss, s
millisecond(밀리 초) ms
microsecond(마이크로 초) mcs
nanosecond(나노 초) ns

[사용 예]

SELECT DATEPART(YEAR, '2021-08-22 23:08:23.013');
-- RESULT : 2021

SELECT DATEPART(SS, '2021-08-22 23:08:23.013');
-- RESULT : 23

 

DATEADD

기준이 되는 날짜(DATE)에서 선택한 DATEPART에 NUMBER를 더하거나 빼는 날짜 연산 함수.

(DATEPART는 DATEPART 함수에 들어가는 것과 동일)

DATEADD(DATEPART, NUMBER, DATE);

 

[사용 예]

SELECT DATEADD(DD, 5, '2021-08-22 00:00:00.000');
-- RESULT : 2021-08-27 00:00:00.000

SELECT DATEADD(YEAR, -2, '2021-08-22 00:00:00.000');
-- RESULT : 2019-08-22 00:00:00.000

 

DATEDIFF

시작 날짜와 종료 날짜 간의 DATEPART 차이를 구하는 함수.

(DATEPART는 DATEPART 함수에 들어가는 것과 동일)

DATEDIFF(DATEPART, STARTDATE, ENDDATE);

 

[사용 예]

SELECT DATEDIFF(YEAR, '2020-08-22 23:12:53.074', '2021-08-22 23:12:53.074');
-- RESULT : 1

SELECT DATEDIFF(DD, '2020-08-22 23:12:53.074', '2021-08-22 23:12:53.074');
-- RESULT : 365
Comments