본문 바로가기
TIL - 프로그래밍/SQL

[230228] MySQL 조건문 (IF문 / 중첩 IF문 / CASE문)

by chaemj97 2023. 2. 28.
728x90
  • IF문
    • IF (조건, 참일때, 거짓일때)
    • 5월 1일전에 출고되면 '출고완료', 아니면 '출고대기'
SELECT if (datediff(out_date,'2022-05-01')<=0,'출고완료','출고대기')
from food_order
order by order_id;

 

  • 중첩 IF문
    • IF (조건, 참일때, IF (조건, 참일때, 거짓일때))
    • 미정이면 '출고미정', 5월 1일전에 출고되면 '출고완료', 아니면 '출고대기'
SELECT if (out_date, if(datediff(out_date,'2022-05-01') <= 0,'출고완료','출고대기'),'출고미정')
from food_order
order by order_id;

 

  • CASE문
    • CASE WHEN 조건 THEN END
    • WHEN~THEN 은 한 쌍, 여러개 사용 가능
    • ELSE
      • ELSE 존재하면 모든 WHEN - THEN 조건이 TRUE(참)이 아닌 경우 ELSE의 결과값을 반환
      • ELSE가 없고, 조건이 TRUE(참)이 아니면 NULL을 반환
CASE
    WHEN 조건1 THEN 결과값1
    WHEN 조건2 THEN 결과값2
    ELSE 결과값3
END
728x90
반응형

댓글