[프로그래머스] ⭐⭐⭐ 조건별로 분류하여 주문상태 출력하기 (MySQL)
문제
코드
ver(1) - CASE 사용
SELECT ORDER_ID, PRODUCT_ID, DATE_FORMAT(OUT_DATE, '%Y-%m-%d') AS OUT_DATE,
(CASE
WHEN DATEDIFF(OUT_DATE, '2022-05-01') <= 0 THEN '출고완료'
WHEN DATEDIFF(OUT_DATE, '2022-05-01') > 0 THEN '출고대기'
ELSE '출고미정' END) AS 출고여부
FROM FOOD_ORDER
ORDER BY ORDER_ID ASC
ver(1) - IF 사용
SELECT
ORDER_ID,
PRODUCT_ID,
DATE_FORMAT(OUT_DATE, '%Y-%m-%d') AS OUT_DATE,
IF(OUT_DATE <= '2022-05-01', '출고완료',IF(OUT_DATE IS NULL, '출고미정','출고대기')) AS 출고여부
FROM FOOD_ORDER
ORDER BY ORDER_ID ASC
풀이
DATEDIFF()
DATEDIFF() 함수는 두개의 날짜값의 차이를 int
로 반환하는 내장함수이다.
SELECT DATEDIFF('구분자','Start_Date','End_Date')
예시) 2023년의 날짜 구하기
SELECT DATEDIFF(dd,'2023-01-01','2023-12-31') + 1
365
그 외 날짜 변환 리스트
댓글남기기