[MSSQL] 날짜, 시간 차이 일수 계산 (DATEDIFF)
- 데이터베이스/MSSQL
- 2021. 7. 14.
SQL Server에서 시작일자와 종료일자 사이의 일수 또는 시간, 분, 초 등의 차이를 계산할 때 DATEDIFF 함수를 사용한다. DATEDIFF 함수는 두 날짜를 비교하여 DATEPART 구분자에 따라서 차이를 계산하여 결과를 정수로 반환한다.
날짜 차이 계산
SELECT DATEDIFF(DAY, '2021-06-12', '2021-07-13') AS [일차이]
, DATEDIFF(MONTH, '2021-06-12', '2021-07-13') AS [개월차이]
, DATEDIFF(YEAR, '2021-06-12', '2021-07-13') AS [년차이]
DAY : 시작일자와 종료일자 사이의 일수를 반환
MONTH, YEAR : 월, 년이 바뀐 횟수를 반환 (주의: 30일을 1개월 또는 365일을 1년으로 판단하지 않음)
시간 차이 계산
SELECT DATEDIFF(HOUR, '2021-07-13 19:10:00', '2021-07-13 20:20:00') AS [시간차이]
, DATEDIFF(MINUTE, '2021-07-13 19:10:00', '2021-07-13 20:20:00') AS [분차이]
, DATEDIFF(SECOND, '2021-07-13 19:10:00', '2021-07-13 20:20:00') AS [초차이]
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 |
DATEPART는 약어를 사용해도 동일한 결과가 반환된다.
SELECT DATEDIFF(DD, '2021-06-12', '2021-07-13') AS [일차이]
, DATEDIFF(MM, '2021-06-12', '2021-07-13') AS [개월차이]
, DATEDIFF(YY, '2021-06-12', '2021-07-13') AS [년차이]