SQL

[프로그래머스] 조건별로 분류하여 주문상태 출력하기

hminor 2023. 7. 15. 12:27
-- SELECT 절에 삼항연산을 사용해 출력문 제어
--  그리고 DATE 타입의 경우 날짜 비교시
--  굳이 문자로 나타낸 날짜에 DATE_FORMAT를 해주지 않아도 비교가 가능  
SELECT ORDER_ID, PRODUCT_ID, DATE_FORMAT(OUT_DATE, '%Y-%m-%d') AS OUT_DATE, 
    IF (OUT_DATE IS NULL,'출고미정', 
        IF (OUT_DATE > '2022-05-01', '출고대기', '출고완료')) AS 출고여부
FROM FOOD_ORDER 
ORDER BY 1
-- CASE 사용으로 출력문 제어
SELECT ORDER_ID, PRODUCT_ID, DATE_FORMAT(OUT_DATE, '%Y-%m-%d') AS OUT_DATE, 
    CASE
        WHEN OUT_DATE IS NULL THEN '출고미정'
        WHEN OUT_DATE > '2022-05-01' THEN '출고대기'
        ELSE '출고완료'
        END AS 출고여부
FROM FOOD_ORDER 
ORDER BY 1