알고리즘 문제 풀이/프로그래머스

[SQL 고득점 Kit] SELECT - 조건에 맞는 도서 리스트 출력하기

파란색 가운 2024. 6. 17. 02:14

https://school.programmers.co.kr/learn/courses/30/lessons/144853

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

처음 내 코드

SELECT BOOK_ID,PUBLISHED_DATE
FROM BOOK
WHERE CATEGORY = '인문' and PUBLISHED_DATE BETWEEN '2021-01-01' and '2021-12-31'
ORDER BY BOOK_ID ASC

자신있게 제출했으나 0점 ! 

문제는 저 PUBLISHED_DATE를 저렇게 출력하면 안 됐다

 

해결 방안

SELECT BOOK_ID,DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') AS 'PUBLISHED_DATE'
FROM BOOK
WHERE CATEGORY = '인문' AND YEAR(PUBLISHED_DATE) = 2021
ORDER BY BOOK_ID ASC;

 

저 날짜를 DATE_FORMAT 방식으로 해주지 않으면 출력이 Y-M-D가 아니라 Y-M-D 00:00:00 

이렇게 나와서 출력 형식에 오류가 생겼던 것

 

배워가기 

- DATE_FORMAT(RowName, '%Y-%M-%D) as aliasName

그리고 WHERE절에서는 YEAR(PUBLISHED_DATE)만 하면 연도만 추출해준다.