조건에 부합하는 중고거래 상태 조회하기
https://school.programmers.co.kr/learn/courses/30/lessons/164672
문제 풀이
1 2 3 4 5 6 7 8 9 10 11 12 13
-- 날짜 형식을 문자열로 변환하여 비교 SELECT BOARD_ID, WRITER_ID, TITLE, PRICE, CASE WHEN STATUS = 'SALE' THEN '판매중' WHEN STATUS = 'RESERVED' THEN '예약중' WHEN STATUS = 'DONE' THEN '거래완료' END AS STATUS FROM USED_GOODS_BOARD WHERE TO_CHAR(CREATED_DATE, 'YYYY-MM-DD') = '2022-10-05' ORDER BY BOARD_ID DESC;
TO_CHAR(CREATED_DATE, 'YYYY-MM-DD')
를 사용하여CREATED_DATE
를 문자열로 변환하여 비교하는 것보다CREATED_DATE
자체를 날짜로 비교하는 것이 성능상 더 효율적이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
-- TO_DATE 함수를 사용하여 날짜 자체를 비교하는 것이 더 성능적으로 효율적이다. 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 CREATED_DATE >= TO_DATE('2022-10-05', 'YYYY-MM-DD') AND CREATED_DATE < TO_DATE('2022-10-06', 'YYYY-MM-DD') ORDER BY BOARD_ID DESC;
- 실행 결과
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.