Problem Solving/프로그래머스

[MySQL] 프로그래머스 144853. 조건에 맞는 도서 리스트 출력하기

LeeJaeJun 2024. 2. 20. 20:42
728x90
반응형

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

 

프로그래머스

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

programmers.co.kr

정답 코드
SELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') as PUBLISHED_DATE FROM BOOK
WHERE DATE_FORMAT(PUBLISHED_DATE, '%Y') = '2021' and CATEGORY = '인문'
ORDER BY PUBLISHED_DATE
SELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATE
FROM BOOK
WHERE CATEGORY LIKE '인문' AND PUBLISHED_DATE LIKE '2021%'
ORDER BY PUBLISHED_DATE;

# DATE 타입도 ''과 비교 가능하다
# 명확히 타입을 to_char로 바꾸어 비교해도 된다

 

TO_CHAR() 함수는 날짜, 숫자 등의 값을 문자열로 변환하는 함수

# 날짜 포맷 변경
# FM 문자열 공백제거
# YYYY 년, MM 월, DD 일, HH24 24시간, HH 12시간, MI 분, SS 초
# AM 오전, AP 오후
# D 1(일)~7(토), DY 화, DAY 화요일
TO_CHAR(DATE, 'YYYYMMDD')
TO_CAHR(DATE, 'YYYY/MM/DD')
TO_CHAR(DATE, 'YYYY-MM-DD')
TO_CHAR(DATE, 'YYYY-MM-DD HH24:MI:SS')
TO_CHAR(DATE, 'FMMM/DD') # 날짜에서 0제거. 05/10였으면 5/10
TO_CHAR(DATE, '""YYYY"년 "MM"월 "DD"일"') # 2023년 02월 20일

# 숫자
# 9: 값이 없으면 표시 x, 0: 값이 없으면 "0"으로 표시, ,: 콤마 출력
TO_CHAR(123.456, 'FM990.990)
TO_CHAR(1234567, 'FM999,999)
TO_CHAR(123, 'FM000000') # 000123
728x90
반응형