문제

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

FOOD_ORDER 테이블에서 5월 1일을 기준으로 주문 ID, 제품 ID, 출고일자, 출고여부를 조회하는 SQL작성

5월 1일까지 출고완료, 이 후 날짜는 출고 대기, 미정이면 출고미정

결과는 주문 ID를 기준으로 오름차순 정렬해주세요.

 

 

출력예시 (출처 : 프로그래머스)

ORDER_ID PRODUCT_ID OUT_DATE 출고여부
OD00000051 P0002 2022/04/21 출고완료
OD00000052 P0003 2022/04/27 출고완료
OD00000053 P0005 2022/05/01 출고완료
OD00000054 P0006   출고미정
OD00000055 P0008 2022/05/11 출고대기

 

위의 예시만 보고 OUT_DATE 포맷도 'YYYY/MM/DD' 로 맞췄더니 틀렸다고나왔다;

OUT_DATE는 그냥 출력하면된다. 출고여부는 CASE문으로 작성했다.

 

 

풀이

SELECT ORDER_ID
     , PRODUCT_ID
     , OUT_DATE
     , CASE WHEN TO_CHAR(OUT_DATE,'YYYYMMDD') <= '20220501' THEN '출고완료'
            WHEN TO_CHAR(OUT_DATE,'YYYYMMDD') > '20220501' THEN '출고대기'
            ELSE '출고미정' END AS 출고여부
FROM FOOD_ORDER 
ORDER BY ORDER_ID

 

프로그래머스 내에서 실행 결과 (부분캡쳐)

 

반응형

+ Recent posts