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일 이내의 주문만 반환.