SQL
[SQL]날짜 데이터 가져오기(DATE_FORMAT, YEAR)
ollive
2024. 7. 3. 11:53
<문제>
BOOK 테이블에서 2021년에 출판된 '인문' 카테고리에 속하는 도서 리스트를 찾아서 도서 ID(BOOK_ID), 출판일 (PUBLISHED_DATE)을 출력하는 SQL문을 작성해주세요.
결과는 출판일을 기준으로 오름차순 정렬해주세요.
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
<풀이1: DATE_FORMAT(날짜형식데이터) >
먼저, 가장 잘 아는 방식은 DATE_FORMAT(날짜형식데이터)를 사용하여 필요한 일자까지만 가져오는 것이다.
-- 코드를 입력하세요
SELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE, "%Y-%m-%d")
FROM BOOK
WHERE DATE_FORMAT(PUBLISHED_DATE,'%Y') = 2021
AND CATEGORY = '인문'
ORDER BY PUBLISHED_DATE
<풀이 YEAR(날짜시간변수)>
YEAR을 통해 년도만 추출할 수 있어 DATE_FORMAT의 복잡한 식을 줄일 수 있었다. 또한 같은 방식으로 MONTH( )와 DAY( ) 도 사용 가능했다.
SELECT BOOK_ID, PUBLISHED_DATE
FROM BOOK
WHERE year(PUBLISHED_DATE) = 2021
ORDER BY PUBLISHED_DATE