[SQL] DATEDIFF(expr1, expr2)

Kim Hyen Su·2024년 8월 3일

SQL

목록 보기
8/15
post-thumbnail

개요

프로그래머스 문제를 풀던 중 두 날짜 사이의 기간을 구해줘야 했습니다. 이를 확인하기 위해서 MySQL Reference Manual을 참고했습니다.

DATEDIFF(expr1, expr2)


위 사진에 글을 해석해보면, expr1 - expr2를 통해서 두 일짜 간의 차이를 반환하는 함수입니다. 위 함수에서는 expr1 또는 expr2가 NULL 인 경우, NULL을 반환한다고 명시되어 있습니다.

테스트

프로그래머스에서 제공하는 데이터를 기반으로 테스트한 결과입니다.

start_date와 end_date가 있습니다. 위 데이터가 자동차 대여 기간이라고 한다면, 대여일은 5,6,7일로 3일입니다.

하지만, DATEDIFF() 함수를 통해서 계산해보면, 2라는 값이 출력됩니다.
즉, DATEDIFF() 함수는 exclusive counting으로, 시작일을 제외한 기간을 계산합니다.

따라서, 실제 대여일을 알기위해서는 DATEDIFF() 함수에 1을 더해줘야 합니다.

profile
백엔드 서버 엔지니어

0개의 댓글