[프로그래머스] 조건별로 분류하여 주문상태 출력하기.oracle
LV3
IDEA 날짜형식으로 case when 출고일자 5월 1일 이전 이면(<=0501) 출고완료 , 이후이면(>0501) 출고대기, NULL (ELSE)이면 출고미정
* ALIAS 한글 지정은 (" ")큰 따옴표!
정답 코드
SELECT ORDER_ID, PRODUCT_ID, TO_CHAR(OUT_DATE, 'YYYY-MM-DD') AS OUT_DATE,
CASE WHEN TO_CHAR(OUT_DATE, 'YYYY-MM-DD') <= TO_CHAR('2022-05-01') THEN '출고완료'
WHEN TO_CHAR(OUT_DATE, 'YYYY-MM-DD') > TO_CHAR('2022-05-01') THEN '출고대기'
ELSE '출고미정' END AS "출고여부"
FROM FOOD_ORDER
ORDER BY ORDER_ID ;
.
오류 났었던 부분
오류 코드
설명: OUT_DATE 칼럼의 값들을 보면 시간까지 출력된다. (아래. 오류 코드 실행 결과 노란색 형광 부분 참고)
그래서 오답이다.
이를 해결하기 위해서 SELECT 부분에서도 형 변환을 ' TO_CHAR(OUT_DATE, 'YYYY-DD-MM') AS OUT_DATE ' 이런 식으로 문제에서 요구하는 형태로 변환해줘야 문제에서 요구하는 실행결과를 얻을 수 있다.
SELECT ORDER_ID, PRODUCT_ID, OUT_DATE ,
CASE WHEN TO_CHAR(OUT_DATE, 'YYYY-MM-DD') <= TO_CHAR('2022-05-01') THEN '출고완료'
WHEN TO_CHAR(OUT_DATE, 'YYYY-MM-DD') > TO_CHAR('2022-05-01') THEN '출고대기'
ELSE '출고미정' END AS "출고여부"
FROM FOOD_ORDER
ORDER BY ORDER_ID ;
.
https://school.programmers.co.kr/learn/courses/30/lessons/131113
'프로그래머스 > SQL' 카테고리의 다른 글
[프로그래머스] 가격이 제일 비싼 식품의 정보 출력하기.oracle (MAX) (0) | 2022.10.12 |
---|---|
[프로그래머스] 3월에 태어난 여성 회원 목록 출력하기.oracle (0) | 2022.10.12 |
[프로그래머스] 강원도에 위치한 생산공장 목록 출력하기.oracle (LIKE) (0) | 2022.10.11 |
[프로그래머스] 즐겨찾기가 가장 많은 식당 정보 출력하기.oracle (GROUP BY) (1) | 2022.10.08 |
[프로그래머스] 헤비 유저가 소유한 장소.oracle (WHERE 칼럼 IN()) (0) | 2022.10.07 |