데이터 분석 기술 블로그

DATEDIFF 함수 본문

SQL/개념

DATEDIFF 함수

데이터분석가 이채은 2024. 11. 12. 17:21

DATEDIFF 함수란?

"DATEDIFF" 함수는 두 날짜 간의 차이를 일(日) 단위로 계산하는 함수입니다. 이 함수는 날짜를 비교하여 차이를 정수 값으로 반환하며, 시작 날짜와 종료 날짜의 순서에 따라 결과가 양수 또는 음수가 될 수 있습니다.


DATEDIFF 함수의 기본 구문

DATEDIFF(end_date, start_date)

 

  • end_date: 비교할 종료 날짜.
  • start_date: 비교할 시작 날짜.

DATEDIFF 함수의 특징

  • 두 날짜 간의 차이를 일 단위로 반환.
  • 순서:
    • end_date - start_date의 결과를 반환.
    • 양수: 종료 날짜가 시작 날짜보다 이후일 경우.
    • 음수: 시작 날짜가 종료 날짜보다 이후일 경우.

예제

1. 기본 사용

문제: 주문일과 배송일의 차이를 계산하려면?

SELECT order_id,
       DATEDIFF(delivery_date, order_date) AS days_difference
FROM Orders;


2. 현재 날짜와 비교

문제: 주문일로부터 오늘까지의 경과일을 계산하려면?
SELECT order_id,
       DATEDIFF(CURDATE(), order_date) AS days_since_order
FROM Orders;
  • CURDATE(): 현재 날짜를 반환하는 함수.

3. 특정 기간 내 데이터 필터링

문제: 주문일과 배송일 간의 차이가 5일 이상인 주문을 조회하려면?
 
SELECT *
FROM Orders
WHERE DATEDIFF(delivery_date, order_date) >= 5;
  • 결과: 주문일과 배송일의 차이가 5일 이상인 데이터만 반환.

4. 날짜 비교

문제: 특정 기간 동안 발생한 주문을 필터링하려면?
SELECT *
FROM Orders
WHERE DATEDIFF(order_date, '2023-01-01') BETWEEN 0 AND 30;​
  • 결과: 2023-01-01부터 30일 이내의 주문만 반환.

 

'SQL > 개념' 카테고리의 다른 글

REGEXP 함수 (MySQL)  (0) 2024.11.14
IF 함수 (MySQL)  (0) 2024.11.13
DATE_FORMAT 함수  (0) 2024.11.11
SUBSTRING 함수  (0) 2024.11.10
COUNT 함수  (0) 2024.11.09