본문 바로가기
MS-SQL

[MS-SQL] DATEDIFF 함수로 날짜 차이 계산하기 – 실무 예제로 쉽게 배우기

by ☆평산훈남☆ 2025. 6. 6.
반응형
🔍 요약: MS-SQL의 DATEDIFF 함수를 활용해 날짜 간격을 쉽게 계산해보세요. 일, 월, 시간 단위까지 실무에 바로 적용 가능한 예제로 정리했습니다.

 

MS-SQL DATEDIFF 함수

 

쿼리 작성시 두 날짜 사이의 차이를 구해야 하는 경우가 자주 있습니다. MS-SQL에서는 이런경우 사용하는 함수가 DATEDIFF 입니다. 두 날짜(시간) 사이의 차이를 기준 단위(년,월,일,시,분,초)로 계산해 주는 아주 유용한 함수에요.

 

주차장의 입/출차 시간으로 주차시간 계산, 생년월일로 현재 나이계산, 도서관에서 대여/반납 일자를 이용하여 대여기간 계산등 아주 다양한 분야에서 다양한 방법으로 사용되는 함수이니 만큼 꼭 숙지하시길 바래요.

 

1. DATEDIFF 함수 기본 문법

DATEDIFF (datepart, startdate, enddate)
  • datepart: 차이를 계산할 단위 (예: day, month, year 등)
  • startdate, enddate: 비교할 두 날짜 값

 

 

2. DATEDIFF 함수 기본 사용 예제

SELECT DATEDIFF(DAY, '2025-01-01', GETDATE()) AS DaysPassed

✅ 2025-01-01부터 오늘까지 며칠이 지났는지 계산합니다.

 

 

3. DATEDIFF 함수 datepart 옵션 정리

datepart 의미 예시 결과
year 연도 차이 1
quarter 분기 차이 2
month 개월 차이 3
day 날짜 차이 100
hour 시간 차이 2400
mimute 분 차이 144000
second 초 차이 8640000

 

 

 

4. DATEDIFF 실무 예제: 회원 가입 경과 일수 계산

테이블 예시

CREATE TABLE Members (
  MemberID INT,
  Name NVARCHAR(50),
  JoinDate DATETIME
);

 

실습 쿼리

SELECT 
  Name,
  JoinDate,
  DATEDIFF(DAY, JoinDate, GETDATE()) AS DaysSinceJoin
FROM Members;

✅ 결과: 각 회원이 가입한 후 경과된 일수가 계산됩니다.

 

 

 

5. DATEDIFF를 WHERE 절에 활용

SELECT *
FROM Orders
WHERE DATEDIFF(DAY, OrderDate, GETDATE()) <= 7;

📌 최근 7일 이내 주문 건만 조회할 수 있습니다.


실무에서 리포트, 알림, 기간 필터링에 매우 유용합니다.

 

 

 

6. DATEDIFF 주의할 점

 

  • DATEDIFF는 경과된 단위의 '수치'만 반환합니다. 예를 들어, 2025-06-05 23:59와 2025-06-06 00:01도 DATEDIFF(DAY, ...)이면 하루 차이로 계산됩니다.
  • 시간 단위 계산 시, 정밀도가 필요한 작업에는 DATEDIFF_BIG() 또는 초/분 단위 변환 함수와 병행 사용을 고려하세요.

 

 

 

📝 마무리 정리

  • DATEDIFF는 날짜 간격을 수치화하는 강력한 함수로, 실무에서 리포트나 기간 필터링에 자주 사용됩니다.
  • 다양한 datepart를 활용해 일, 월, 시간, 초 단위까지 자유롭게 비교할 수 있습니다.
  • WHERE, SELECT, HAVING 등 다양한 SQL 문장에서 쉽게 적용 가능합니다.

💬 읽어주셔서 감사합니다.
공감 + 댓글 은 큰 힘이 됩니다.

여러분의 응원은 컨텐츠 제작에 큰 힘이 됩니다! 😊

2025.06.05 - [MS-SQL] - [MS-SQL] DATEADD 함수 사용법 – 날짜 더하고 빼는 실무 활용 예제

 

[MS-SQL] DATEADD 함수 사용법 – 날짜 더하고 빼는 실무 활용 예제

🔍 요약: MS-SQL DATEADD 함수로 날짜 계산을 손쉽게! 오늘부터 7일 뒤, 3개월 전 등 다양한 날짜 연산을 실무 예제로 정리했습니다. 쿼리를 작성할 때 현재일 부터 한달 전 또는 1주일 후 등과 같이

kjh11225it.tistory.com

 

반응형