[내일배움캠프-사전캠프 02일차] DATEDIFF vs TIMESTAMPDIFF

2025. 6. 10. 17:29·백엔드 부트캠프[사전캠프]/TIL

 

1. DATEDIFF(date1, date2)

  • 설명: 두 날짜 간의 일(day) 차이를 계산
  • 반환값: 정수 (일 단위)
  • 계산 방식: date1 - date2, 즉 첫 번째 인자에서 두 번째 인자를 뺀 일수

🔹 예시:

SELECT DATEDIFF('2025-06-10', '2025-06-01') AS day_diff;
-- 결과: 9
SELECT DATEDIFF('2025-06-01', '2025-06-10') AS day_diff;
-- 결과: -9
📌 시간(HH:MM:SS)은 무시되고, 날짜(YYYY-MM-DD)만 고려

 

 

2. TIMESTAMPDIFF(unit, datetime1, datetime2)

  • 설명: 두 날짜/시간 사이의 차이를 지정한 단위로 계산
  • 지원 단위:
    • YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, WEEK, QUARTER, MICROSECOND
  • 계산 방식: datetime2 - datetime1 에 대한 차이를 단위로 환산

🔹 예시:

SELECT TIMESTAMPDIFF(DAY, '2025-06-01', '2025-06-10') AS diff_day;
-- 결과: 9

SELECT TIMESTAMPDIFF(HOUR, '2025-06-01 10:00:00', '2025-06-01 15:00:00') AS diff_hour;
-- 결과: 5

SELECT TIMESTAMPDIFF(MINUTE, '2025-06-01 10:00:00', '2025-06-01 10:30:00') AS diff_minute;
-- 결과: 30
SELECT TIMESTAMPDIFF(YEAR, '2000-01-01', '2025-06-01') AS diff_year;
-- 결과: 25
📌TIMESTAMPDIFF는 날짜뿐 아니라 시간까지도 정밀하게 차이를 구할 수 있다.

 

 

🔍 주요 차이 요약

항목 DATEDIFF TIMESTAMPDIFF
리턴 단위 **일(DAY)**만 사용자가 지정한 단위 (예: YEAR, HOUR 등)
시간 계산 여부 시간은 무시하고 날짜만 비교 시간 포함 가능
인자 순서 DATEDIFF(date1, date2)  TIMESTAMPDIFF(unit, datetime1, datetime2)
결과 음수 가능 O O
정밀도 낮음 (날짜 단위만) 높음 (시, 분, 초까지 가능)

 

 

 

🧪 실제 활용 예시

회원 가입 후 며칠 지났는지 확인

SELECT DATEDIFF(NOW(), created_at) AS days_since_signup
FROM users;

 

 

최근 주문까지 몇 분 걸렸는지 확인

SELECT TIMESTAMPDIFF(MINUTE, order_placed_at, order_delivered_at) AS delivery_minutes
FROM orders;
 
'백엔드 부트캠프[사전캠프]/TIL' 카테고리의 다른 글
  • [내일배움캠프-사전캠프 04일차] IFNULL vs COALESCE
  • [내일배움캠프-사전캠프 03일차] MySQL 랭킹(Ranking) 함수들
  • [내일배움캠프-사전캠프 02일차] SQL 기초-2
  • [내일배움캠프-사전캠프 01일차] SQL 기초
s_y_130
s_y_130
  • s_y_130
    About SY
    s_y_130
  • 전체
    오늘
    어제
    • 분류 전체보기 (429) N
      • JAVA (54)
        • 더 자바 8 (0)
        • JAVA (41)
        • JAVA (JVM) (13)
      • Computer Science (86)
        • CS Basic (7)
        • OOP (11)
        • Design Pattern (16)
        • Network (8)
        • HTTP (6)
        • WEB (22)
        • OS (16)
      • DataBase (29)
        • DB theory (15)
        • MySQL (14)
        • Redis (0)
      • Collection Framework (1)
        • 구현 (1)
      • Data Structure (14)
        • Linear (9)
        • Non-Linear (5)
      • Algorithm (19)
        • Basic (12)
        • 응용 (2)
        • 완전 탐색(Brute Force) (1)
        • 다익스트라 (1)
        • Algorithm Problem (3)
      • Spring (102)
        • 스프링 핵심 원리 - 기본편 (9)
        • 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (7)
        • 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술 (11)
        • 스프링 DB 1편 - 데이터 접근 핵심 원리 (6)
        • 스프링 DB 2편 - 데이터 접근 활용 기술 (10)
        • 스프링 핵심 원리 - 고급편 (13)
        • 스프링 부트 - 핵심 원리와 활용 (9)
        • Spring Security 6.x (2)
        • Spring Cloud로 개발하는 MSA (1)
        • 재고시스템으로 알아보는 동시성이슈 해결방법 (4)
        • 개념 (27)
        • 테스트 (0)
        • Annotation (1)
        • Error Log (2)
      • TEST (0)
        • 부하 테스트 (0)
        • Practical Testing: 실용적인 테스트.. (0)
      • JPA (40)
        • 자바 ORM 표준 JPA 프로그래밍 (12)
        • 1편- 실전! 스프링 부트와 JPA 활용 (7)
        • 2편- 실전! 스프링 부트와 JPA 활용 (4)
        • 실전! 스프링 데이터 JPA (6)
        • 실전! Querydsl (6)
        • 개념 (5)
      • 백엔드 부트캠프[사전캠프] (35) N
        • TIL (12)
        • 문제풀이 (23) N
      • Open Source (0)
      • Book Study (1)
        • Morden Java in Action (1)
        • Real MySQL 8.0 Vol.1 (0)
        • TDD : By Example (0)
      • AWS (0)
        • EC2 (0)
      • git (2)
      • AI (22)
        • Machine Learning (17)
        • Deep Learning (0)
        • TensorFlow (1)
        • PyTorch (1)
        • YOLO (1)
        • Data Analysis (0)
        • Ai code Error (1)
        • Numpy (1)
      • MY (0)
      • WEB (15)
        • Django (3)
        • WEB 개념 (1)
        • React (1)
        • Maven (10)
      • Python (6)
      • 기초수학 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
s_y_130
[내일배움캠프-사전캠프 02일차] DATEDIFF vs TIMESTAMPDIFF
상단으로

티스토리툴바