
안녕하세용? 으쓱으쓱~
오늘은 "[프로그래머스] 오랜 기간 보호한 동물(2)" 이 문제를 풀고 배운 MySQL 함수를 소개드리겠습니다!
날짜 차이를 구하는 문제였는데, 일단 제 답안은
SELECT I.ANIMAL_ID, I.NAME FROM ANIMAL_INS I JOIN ANIMAL_OUTS O ON I.ANIMAL_ID = O.ANIMAL_ID ORDER BY O.DATETIME - I.DATETIME DESC LIMIT 2;
이렇게 했는데 흠🤔 다른 함수는 뭐가 있을까..? 찾아보았습니다.
📌 날짜와 시간을 포함한 차이(초 단위) 계산
📌 두 날짜 간의 '일(day)' 차이 계산
시, 분, 초는 무시되고 단순히 며칠 차이인지 구할 때 사용할 수 있습니다.
계산 순서: date1 - date2
SELECT DATEDIFF('2025-07-19 00:00:00', '2025-07-09 10:00:00');
-- 결과: 10
📌 단위를 지정해 초, 분, 시, 일 단위까지 정밀하게 계산
계산 순서: date2 - date1 (계산 순서에 유의)
단위 종류는 아래와 같습니다!
- SECOND : 초 차이
- MINUTE : 분 차이
- HOUR : 시간 차이
- DAY : 일 차이
- WEEK : 주 차이
- MONTH : 월 차이
- QUARTER : 분기 차이 (3개월 단위)
- YEAR : 연도 차이
또한, 단위 기준으로 남는 건 버림 처리됩니다.
SELECT TIMESTAMPDIFF(HOUR, '2025-07-09 10:00:00', '2025-07-09 15:59:59');
-- 결과: 5 (59분 59초는 버림)