최대 1 분 소요

문제 링크

정답

-- FOOD_ORDER: ORDER_ID, PRODUCT_ID, AMOUNT, PRODUCE_DATE, IN_DATE,OUT_DATE,FACTORY_ID, WAREHOUSE_ID

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 '출고여부'
    
FROM FOOD_ORDER
ORDER BY 1; 

✅ Point

  • DATE_FORMAT(OUT_DATE, '%Y-%m-%d') AS OUT_DATE
    • 처음 풀 땐 IFNULL(OUT_DATE, '') 로 NULL 값을 공백으로 처리하여 출력했는데, 오답!
  • DATE_FORMAT
    • NULL 인 경우, 자동으로 NULL 반환
    • Date 형식에 대해선 원하는 출력 방식으로 반환