CASE 표현식

전홍영·2023년 4월 23일
0

DB

목록 보기
3/5

조건에 부합하는 중고거래 상태 조회하기


SELECT BOARD_ID, WRITER_ID, TITLE, PRICE, 
CASE WHEN (STATUS="SALE")       THEN "판매중"
     WHEN (STATUS="RESERVED")   THEN "예약중"
     ELSE "거래완료" 
     END AS STATUS
FROM USED_GOODS_BOARD
WHERE DATE_FORMAT(CREATED_DATE, "%Y-%m-%d") = "2022-10-05"
ORDER BY BOARD_ID DESC;

CASE WHEN 표현식

SQL에서 조건에 따라 서로 다른 값을 반환할 수 있는 CASE 표현식이 있다. CASE 표현식은 프로그래밍의 if문과 switch 문과 비슷한 느낌이다.

CASE WHEN (조건)       THEN "결과"
     WHEN (조건)   THEN "결과"
     ELSE "나머지" 
     END 조건에 만족하지 않을 경우 반환값

위의 예시는 if문과 같은 상황의 경우 사용하는 것이다. 비교연산자, NULL 연산자를 사용하여 조건을 부여할 수 있으며, 논리 연산자를 사용하여 여러 개의 조건을 부여할 수 있다.

ELSE 부분은 생략이 가능하며 생략할 경우 조건에 맞지 않으면 NULL을 반환한다.

CASE 선택 컬럼
WHEN 선택 값       THEN "결과"
     WHEN 선택값   THEN "결과"
     ELSE "N/A" 
     END 나머지 경우

위의 예는 switch문이라고 생각하면 될 것 같다. 따로 조건을 부여할 수는 없고 컬럼의 값만 체크하여 값을 반환할때 사용한다.

profile
Don't watch the clock; do what it does. Keep going.

0개의 댓글