최대 1 분 소요

프로그래머스 사이트 링크

문제

image

image

코드

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

그 외 날짜 변환 리스트

날짜 변환 링크

댓글남기기