
[TS] Troubleshooting
- 조건에 맞는 도서 리스트 출력하기
<문제 설명>
문제 자체는 그리 어렵지 않은 편이다.
도서 ID(BOOK_ID) 와 출판일(PUBLISHED_DATE)를 출력하라 했으니
SELECT로 BOOK_ID와 PUBLISHED_DATE를 받아오면 된다.
요구 사항에서 BOOK 테이블 속
CATEGORY는 ‘인문' // PUBLISHED DATE 는 ‘2021’ 이므로
WHERE 절로 CATEGORY = ‘인문’ AND YEAR(PUBLISHED_DATE) = 2021 을 입력하면 된다.
따라서 내가 작성한 쿼리는 아래와 같았다.
SELECT BOOK_ID
, PUBLISHED_DATE
FROM BOOK
WHERE CATEGORY = '인문' AND YEAR(PUBLISHED_DATE) = 2021
ORDER BY PUBLISHED_DATE;
위 쿼리의 실행 결과는 다음과 같다.

문제 요구사항에 맞는 BOOK_ID와 PUBLISHED_DATE 를 잘 가져왔다.
하지만 채점 결과는 자꾸 오답 처리가 되었다.
놓친 부분이 있는지 다시 확인해 보고자 SELECT * (아스타)를 통해 모든 데이터를 확인해서 검토해 보았다. (
다행히 테이블 내 데이터 값이 많지 않았다.)
검토를 해보았음에도 결과값은 위의 실행 결과와 동일했다.
프
로그래머스 버그인 줄 알고코드도 다시 쳐보고,
safari ↔ chrome 계속 브라우저를 변경해서도 풀어봤다.
결국엔 문제 부분을 다시 보다가 해결 실마리를 찾았다.

주의사항을 보니 PUBLISHED_DATE의 데이트 포맷이 예시와 동일해야 정답처리가 된다는 것 이었다.
즉, 실행 결과 값 내 PUBLISHED_DATE의 날짜 포맷이 예시처럼 ‘XXXX-XX-XX’ 여야 한다는 것.
내 기존 쿼리의 결과값을 보니 ‘XXXX-XX-XX’ 00:00:00 으로,
시간이 더해진 형태였다.
데이트 포맷을 동일하게 처리하기 위해 date_format 함수로 PUBLSIHED_DATE 컬럼 내 형태를 문제에서 요구하는 식으로 만들어 주고 컬럼명도 AS를 사용하여 다시 지정해 주었다.
SELECT BOOK_ID
, date_format(PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATE
FROM BOOK
WHERE CATEGORY = '인문' AND YEAR(PUBLISHED_DATE) = 2021
ORDER BY PUBLISHED_DATE;
결과 값이 예시에 나온 데이트 포맷과 동일하게 출력된 모습이다-!

간단한 문제인데 문제 요구사항을 제대로 못 본 탓에
엉뚱한 코드 탓, 프로그래머스 탓, 브라우저 탓을 해버렸다.ㅎ
이제부터 예시 + 출력 값 주의깊게 비교해 보기!

그래도 정답은 기쁘다. 🎉