알고리즘/프로그래머스
[MySQL/DATEDIFF] 프로그래머스 조건별로 분류하여 주문상태 출력하기
waterground
2022. 10. 16. 21:47
1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/131113
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
2. 풀이
- case문을 사용해서 조건에 맞는 출고 상태를 출력한다
- OUT_DATE가 NULL이면 '출고 미정'
- DATEDIFF를 이용해 OUT_DATE와 기준 날짜(2022-05-01)의 차를 구하고, 이를 사용해 출고 상태를 구한다.
3. 코드
SELECT ORDER_ID, PRODUCT_ID, DATE_FORMAT(OUT_DATE, "%Y-%m-%d") AS OUT_DATE,
CASE
WHEN OUT_DATE IS NULL THEN "출고미정"
WHEN DATEDIFF(OUT_DATE, "2022-05-01") <= 0 THEN "출고완료"
WHEN DATEDIFF(OUT_DATE, "2022-05-01") > 0 THEN "출고대기"
END AS 출고여부
FROM FOOD_ORDER
ORDER BY ORDER_ID ASC;