https://school.programmers.co.kr/learn/courses/30/lessons/151138
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
또 프로그래머스 또 SQL 글을 적습니다...!
문제: 2022년도 9월 에 속하는 대여 기록중 대여 기간이 30일 이상은 장기대여 미만은 단기대여로 출력
여자는 F 남자는 M 과 같이 값이 고정인 경우는
DECODE(GENDER, '여자', 'F', '남자', 'M')
이런 식으로 작성하는 편이 간단합니다.
하지만 이번 문제처럼 30일 초과는 단기 이상은 장기와 같이 범위를 다룰 때는
CASE WHEN을 사용하여 푸는 것이 좋습니다.
(여러 벤더에서 돌아갈 쿼리를 짤 때는 DECODE 를 쓰려면 분기 처리를 해 줘야 하기 때문에 위에 들었던 예시 같은 경우도 CASE WHEN THEN END 로 처리합니다)
|
1
2
3
4
5
6
7
8
|
SELECT HISTORY_ID
,CAR_ID
,TO_CHAR(START_DATE, 'YYYY-MM-DD') START_DATE
,TO_CHAR(END_DATE, 'YYYY-MM-DD') END_DATE
,CASE WHEN END_DATE - START_DATE + 1 >= 30 THEN '장기 대여' ELSE '단기 대여' END RENT_TYPE
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE TO_CHAR(START_DATE, 'YYYYMM') = '202209'
ORDER BY HISTORY_ID DESC
|
cs |
'IT > SQL' 카테고리의 다른 글
| ALL_TAB_COLS 사용하여 쿼리 편하게 쓰기 (오라클) (0) | 2023.03.08 |
|---|---|
| [프로그래머스_SQL] 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 (0) | 2023.02.15 |
| [프로그래머스] SQL 자동차 대여 기록 별 대여 금액 구하기 (0) | 2023.02.08 |
| [프로그래머스_SQL] 상품을 구매한 회원 비율 구하기 (0) | 2022.11.20 |
| conflict 난 것도 아닌데 merge request 안 될 때 (Validate branches Another open merge request already exists for this source branch: !39 ) (0) | 2022.11.19 |