[SQL] Programers SELECT 문제 풀이 2번 (MySQL DATE_FORMAT 함수)

juyeon lee·2024년 1월 10일

SQL TEST

목록 보기
2/8

프로그래머스 SQL 고득점 Kit

🖥️SELECT 2번

조건에 맞는 도서 리스트 출력하기


🔹문제
BOOK 테이블에서 2021년에 출판된 '인문' 카테고리에 속하는 도서 리스트를 찾아서 도서 ID(BOOK_ID), 출판일 (PUBLISHED_DATE)을 출력하는 SQL문을 작성해주세요.
결과는 출판일을 기준으로 오름차순 정렬해주세요.

🗝️정답

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

💡오답 노트

  1. WHERE 조건절에서 PUBLISHED_DATE LIKE '2021%'
    YEAR(PUBLISHED_DATE)를 이용하여 PUBLISHED_DATE 컬럼에서 따로 연도를 추출
    ➡️ 검색 연산자를 이용하여 검색하도록!
  1. DATE_FORMAT 지정법 몰랐음
    ➡️ %Y-%M-%D로 지정하면 월과 일이 숫자로 출력되지않고 영어로 출력

📖날짜 형식 설정 함수


🏷️DATE_FORMAT

날짜를 지정한 형식으로 출력한다.

  • 기본 구조
    DATE_FORMAT(날짜 , 형식)

  • 구분 기호

🏷️HOUR,MONTH,DAY,HOUR,MINUTE,SECOND

DATETIME을 파라미터를 통해 년,월,일,시,분,초를 각각 추출할 수 있다.

  • 형식
    YEAR(DATETIME : 년만 추출
    MONTH(DATETIME) : 월만 추출
    DAY(DATETIME) : 일만 추출
    HOUR(DATETIME) : 시만 추출
    MINUTE(DATETIME) : 분만 추출
    SECOND(DATETIME) : 초만 추출

0개의 댓글