💿 Oracle/프로그래머스 Lv. 2

[프로그래머스] 조건에 부합하는 중고거래 상태 조회하기

동일 2023. 6. 23. 17:10

SELECT
    BOARD_ID, WRITER_ID, TITLE, PRICE,
    DECODE(STATUS,'SALE','판매중','RESERVED','예약중','DONE','거래완료') AS STATUS
FROM USED_GOODS_BOARD
WHERE TO_CHAR(CREATED_DATE,'YYYY-MM-DD') = '2022-10-05'
ORDER BY BOARD_ID DESC

 

1. 2022년 10월 5일에 등록된 게시물

- 날짜형태를 문자열 형태로 변경하여 비교한다.

WHERE TO _CHAR(CREATED_DATE,'YYYY-MM-DD') = '2022-10-05'

 

2. 게시판 ID 내림차순 정렬

ORDER BY BOARD_ID DESC

 

3. 상태값에 따른 대체 용어 출력하기

- DECODE를 이용한다.

DECODE(STATUS,'SALE','판매중','RESERVED','예약중','DONE','거래완료') AS STATUS

 

DECODE에 대한 설명

- ORACLE에서만 사용할 수 있음

- 구조: DECODE(COLUMN, 1, APPLE, 2, BANANA, ORANGE)

- SELECT으로 가져온 컬럼의 값이 1이면 APPLE을 출력, 2이면 BANANA출력, 1도 아니고 2도아니면 ORANGE 출력

- 모든 값에 대해 대체값을 입력했다면 제일 마지막(ORANGE)은 생략해도 된다.