알고리즘 문제 풀이/프로그래머스
[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)만 하면 연도만 추출해준다.