TIL/SQL

TIL (7/19) <날짜 차이 구하기 datediff()>

jojoon2786 2024. 7. 19. 11:24

 

처음에 if(end_date - start_date >= 30, '장기 대여', '단기 대여') 이렇게 풀었다가 잘못된 데이터가 조회되었다.

date형 자료에 (-) 연산을 하기 위해서는 datediff() 함수를 사용해야 한다.

#datediff() 기본형
datediff(큰 날짜, 작은 날짜)

 

(나의 풀이)

select history_id, car_id, date_format(start_date,'%Y-%m-%d') as start_date, date_format(end_date,'%Y-%m-%d') as end_date, if(datediff(end_date, start_date)+1 >= 30, '장기 대여', '단기 대여') as rent_type
from car_rental_company_rental_history
where year(START_DATE) = 2022 and month(START_DATE) = 9
order by history_id desc

 

● 2이상 6이하의 갯수 = 6-2+1 이와 같이 날짜도 +1해줘야 차이를 구할 수 있음을 참고

'TIL > SQL' 카테고리의 다른 글

SQL <자료형, 외부에서 데이터 불러오기>  (2) 2024.07.23
SQL<DDL, DML, 확장자>  (1) 2024.07.23
TIL (7/17) <if문, 임시테이블>  (0) 2024.07.17
DBMS  (0) 2024.07.16
TIL (7/16) <join>  (0) 2024.07.16