-- https://school.programmers.co.kr/learn/courses/30/lessons/151138
SELECT HISTORY_ID, CAR_ID, date_format(start_date,'%Y-%m-%d') START_DATE,
date_format(end_date,'%Y-%m-%d') END_DATE,
if(DATEDIFF(end_date,start_date)+1>=30, '장기 대여','단기 대여') RENT_TYPE
from CAR_RENTAL_COMPANY_RENTAL_HISTORY
where year(start_date)= '2022' and month(start_date) = '09'
order by history_id desc
그동안 날짜 계산을 -
로 잘 하고 있었다고 생각했는데 그냥 예외적인 상황이었나보다... 모지 오늘은 end_date-start_date
로 계산했는데 계속 틀렸다고 나와서 이것저것 바꿔보다가 실행 결과를 보니까 시작일이 09-28
이고 종료일이 10-12
인 로우가 단기 대여
로 표시되어있었다 호달달... 그래서 진짜 이게 뭔가 싶다 무튼 앞으로는 그냥 DATEDIFF
를 이용하는걸루
TO_CHAR(END_DATE, 'YYYY-MM-DD') AS END_DATE
-> 오라클에서 쓰는 방식🥷
LEFT(A.START_DATE,10) START_DATE
-> ok
LEFT(START_DATE,7) = '2022-09'
SELECT *,
if(DATEDIFF(end_date,start_date)+1>=30, '장기 대여','단기 대여') RENT_TYPE
from CAR_RENTAL_COMPANY_RENTAL_HISTORY
where year(start_date)= '2022' and month(start_date) = '09'
order by history_id desc
헐 이게 된다 DATE_FORMAT
처럼 손봐야하는 부분만 없으면 그냥 *
쓰고 뒤에 , 칼럼
쓰면 된다 wow