MSSQL

MSSQL - 날짜, 시간 차이 일수 계산 (DATEDIFF)

깐까망 2024. 3. 29. 18:10
728x90
반응형
SMALL

▶ DATEDIFF

- 작일자와 종료일자 사이의 일수 또는 시간, 분, 초 등의 차이를 계산할 때 DATEDIFF 함수를 사용한다. DATEDIFF 함수는 두 날짜를 비교하여 DATEPART 구분자에 따라서 차이를 계산하여 결과를 정수로 반환한다. 

 

-- 정의 --
SELECT DATEDIFF([년,월,일,시,분,초],기준날짜,비교날짜)
-- 예시 --

SELECT DATEDIFF(DAY, '2024-02-27','2024-03-27') as DAY 
         ,DATEDIFF(MONTH, '2023-04-27','2024-03-27') as MONTH
		 ,DATEDIFF(YEAR, '2023-02-27','2024-03-27') as YEAR

DAY : 시작일자와 종료일자 사이의 일수를 반환

MONTH, YEAR : 월, 년이 바뀐 횟수를 반환 (주의: 30일을 1개월 또는 365일을 1년으로 판단하지 않음)

-- 시,분,초 예시 --
SELECT DATEDIFF(HOUR,   '2024-02-27 19:10:00', '2024-02-27 20:20:00') AS HOUR
         ,DATEDIFF(MINUTE, '2024-02-27 19:10:00', '2024-02-27 20:20:00') AS MINUTE 
		 ,DATEDIFF(SECOND,'2024-02-27 19:10:00', '2024-02-27 20:20:00') AS SECOND

MINUTE : 시작일시와 종료일시 사이의 분을 반환

SECOND : 시작일시와 종료일시 사이의 초를 반환

HOUR : 시간이 바뀐 횟수를 반환 (주의: 60분을 1시간으로 판단하지 않음)

 

- DATEPART 코드표

명칭 DATEPART DATEPART(약어)
YEAR YY, YYYY
MONTH MM, M
DAY DD, D
HOUR HH
MINUTE MI, N
SECOND SS, S
밀리초 MILLISECOND MS 
WEEK WK, WW
분기 QUARTER QQ, Q

 

- 약어 사용 예시

SELECT DATEDIFF(DD, '2024-02-27','2024-03-27') AS DAY
         ,DATEDIFF(MM, '2023-04-27','2024-03-27') AS MONTH
		 ,DATEDIFF(YY, '2023-02-27','2024-03-27') AS YEAR

. 약어를 사용을 하여도 동일하게 출력이 됩니다.

728x90
반응형
LIST